❶ js全局变量赋值
function test(){
s = “sh”;//全局变量
var c = 1;//局部的整形变量
}
这样即可为一个全局变量赋值。
省略了var操作符,就创建了一个全局变量,如上形式就可以直接进行创建并且赋值。
在js中有var操作符的变量是定义在该变量范围内的局部变量,局部变量在出了作用域的范围会就会被立即销毁。
❷ js 连续赋值
以下代码输出什么? 为什么?
var a = {n:1};
var b = a;
a = {n:2};
a.x = a ;
console.log(a.x);
console.log(b.x);
var a = {n: 1}
var b = a;
a.x = a = {n: 2};
console.log(a.x);
console.log(b.x)
第一个问题:
a.x ---> {n:2,x:a};
b.x ---> undefined;
解答:a的值很清晰了,a第二次赋值以后变成了{n:2},随后添加了x属性指向自身。而对于b,在a第二次赋值以后,由于js中给变量赋值为object类型时,变量中存储的是对这个object的引用。
此时,a指向{n:2} ,而b指向了{n:1} ,a和b指向不同的对象,因此,在a上添加属性对于b无影响,b.x自然就是undefined。
第二个问题:
解答:第三句里的主要难点在js运算符的优先级,访问属性、调用方法运算符"."的优先级高于赋值运算符。因此执行顺序是
给a添加属性x,此时a,b都是 { n:1,x:undefined },a.x 运算后的结果即为这个object(可以说也就是b)的x属性值。
把{n:2}赋值给a,此时a是 {n:2},是一个新的对象。 b是{ n:1,x:undefined }。
由于( . 运算符最先计算)一开始js已经先计算了a.x,便已经解析了这个a.x是对象A的x,所以在同一条公式的情况下再回来给a.x赋值,也不会说重新解析这个a.x为对象B的x。
所以 a.x=a 应理解为对象A的属性x指向了对象B:
(这个时候a.x 已经运算完了,不会再与a产生任何关系,a.x依旧代表那个n为1对象的x属性值,和a已经没关系了。)
把{n:2}赋值给a.x 也就是 { n:1,x:undefined }这个对象的x属性,这个时候b依旧指向这个object,因此此时,a是{n:2},b是{n:1,x:{n:2}}
我只能举例说明,希望能帮助到你,望采纳,谢谢。
❸ js里怎么把值赋给页面变量
这样跟你说吧 你想把js中的值赋给java域中的话是不可能实现,在一个页面中,你要搞得版话可权以用一个Servlet进行处理,处理之后你就可以在页面中get这个值,或者你可以搞成一个jsp,你可以用form表单设置hidden域然后提交,还有的话如果你要的是给一个input中的value设置值得话你可以用document.getElementById("putId").value=i直接给这个id赋值,并不能做成全局的变量,还有你可以考虑jQuery的form.js
❹ js如何给一个对象多加一个属性并赋值
1、js创建抄一个对象或者在原有对象上添加一个已知属性,并给这个属性赋值,写法如下:
let obj = {'a1':'a1'};obj['a2'] = 'a2';console.log(obj);//输出{'a1':'a1','a2':'a2'};
2、添加一个变量属性,并赋值变量,写法如下:
function add(name,value){let obj = {"a1":"a1"};obj[name] = value;//返回参数console.log(obj);//{"a1":"a1","b1":"b1"}}add("b1","b1");
❺ js变量传递如何表示或js变量如何赋值给其他变量
传值有两种,一来种是值传递,自另一种是引用传递,
值传递就是想数字,字符串,布尔值之类的,如果改变了就是改变了自己;
引用传递就是设置一个引用类型如object,数组,传值后更改了这类参数,在原先的方法中应该也会改变,比如,a是一个引用类型,复制给b,b改变了值或属性,a也就变了,
赋值其实就是遵循一个原则等号右侧赋值给左侧
如何赋值给其他变量,值类型直接赋值就行,引用类型需要克隆一下,就是在创建一个副本吧!!!!
❻ JS数组变量赋值
//不确定数组,arr
for(vari=0;i<arr.length;i++){
xAxis.categories.push(arr[i]);
}
❼ JS如何给多个元素统一赋值
for(x in json){
$("#cstBaseInfo_"+x).html(json[x]);
}
❽ JS中如何把String[] 循环赋值给一个变量
<script language="javascript">
var a = new Array();//初始化数组
a[0]="aaaa";//数组赋值
a[1]="bbbb";
a[2]="cccc";
str="";
for(i=0;i<a.length;i++)//开始循环
{
专str+=a[i];//循环赋值
}
alert(str);//输出属结果
</script>
❾ JS 函数给全局变量赋值
你的意思是把局部变量的值赋给全局变量吧
我举个例子吧:
<input type=“button” value=“1” onclick="MicroNet_OnSubmit('bbb')" >
<input type=”button“ value=”2“ onclick="MicroNet_OnSubmit1()" >
<script>
var liuyin="aaa";
function MicroNet_OnSubmit(flvFile) {
liuyin= flvFile;
}
function MicroNet_OnSubmit1() {
alert(liuyin);
}
</script>
上面的代码放在htm文件里,先点击按钮1再点击按钮2,看看值有没有变
❿ javascript变量再赋值
楼上两位不要误人子弟,什么叫不能再定义了?
作用域问题!看下面的注释吧
-----------------------
<script>
var i=1; //全局变量
function dd(i)
{
{
alert(i); //这里弹出的是全局变量i,所以是1
var i=0; //这里又定义了一个局部变量i,等于0,且每次执行都重新定义这个局部变量,并等于0;这个i的作用域范围就是在dd()函数体内,每次dd()函数执行完自动销毁
}setTimeout('dd(i)',1500)
}
setTimeout('dd(i)',1500)
</script>
--------------------
要i等于0,在你的基础上有两个办法:
1:修改全局变量i
<script>
var i=1
function dd(i)
{
{
alert(i)
window.i=0 //这里修改的是第一行定义的那个i,第一次弹出1,以后弹出0
}setTimeout('dd(i)',1500)
}
setTimeout('dd(i)',1500)
</script>
2:
<script>
var i=1
function dd(i)
{
{
var i=0
alert(i) //两句对调,但这个i就成了dd()函数体内的局部变量,所以一直弹出0
}setTimeout('dd(i)',1500)
}
setTimeout('dd(i)',1500)
</script>