目标:js的属性名可以使用变量 举例:js对象object,当赋给该对象属性的时候可以采用以下方式代码如下: var object; object.prop1 = "value1"; object.prop2 = "value2"; 也可以采用如下方式: 代码如下: object.push({prop1:"value1"}); object.push({prop2:"value2"}); 在这里prop1 作为属性名称,可以直接用,也可以加上引号,比如: 代码如下: object.push({"prop1":"value1"}); 表达的含义都是一样的,也就是说,prop1只能作为常量被识...
如题所示,看下面的示例。 (可以使用Chrome浏览器,然后F12/或者右键,审查元素.调出开发者工具,进入控制台console输入) (使用技巧: 控制台输入时Shift+Enter可以中途代码换行)代码如下: var name = "xiaoming"; (function(){ var name = name || "小张";console.info(name); })();// 小张 (function(){name = name || "小张";console.info(name); })(); // xiaoming (function(){var name2= name;var name = name || "小张";console....
相对于C/C++来说,ECMAScript里的for循环并不能创建一个局部的上下文。代码如下: for (var k in {a: 1, b: 2}) {alert(k); } alert(k); // 尽管循环已经结束但变量k依然在当前作用域 任何时候,变量只能通过使用var关键字才能声明。 上面的赋值语句: a = 10; 这仅仅是给全局对象创建了一个新属性(但它不是变量)。“不是变量”并不是说它不能被改变,而是指它不符合ECMAScript规范中的变量概念,所以它“不是变量”(它之所以能成...
定义在函数体外的都属于全局变量,定义在函数体内的属于局部变量。这里的定义是指通过var声明的。 JavaScript有隐含的全局概念,意味着你不声明的任何变量都会成为一个全局对象属性。例如:代码如下: function test(){myname = "huming";alert(myname); } test(); // "huming" alert(myname); //"huming"两个结果是一样的,说明myname是一个全局变量。 那么,隐式全局变量和明确定义的全局变量有没有区别呢。。答案肯定是有的...
Js中的变量作用域问题: 1、没有块级作用域。Js中的变量作用域不是以{}为界的,不像C/C++/Java。 如:代码如下:if(true){var name = "qqyumidi";}alert(name); // 结果:qqyumidiJs会将在if中定义的变量添加到当前的执行环境中,尤其在使用for循环时需要注意与其他语言的差异。代码如下:for(var i=0; i<10; i++){;}alert(i); // 结果:10 这里仅仅是个人的理解,如有纰漏,还请大家告之。
一、外部的为全局,内部的为局部变量。 二、加var为局部变量(在方法内),不加var为全局变量(当方法内有一次使用后)代码如下:var golbe="global"; test(); function test(){ var local="local"; document.write(golbe); document.write(local); } document.write(golbe); document.write(local);在上面的test方法内,当把local变量的var去掉后,local就变成了全局变量,但是在局部不使用local,则这个local作为全局是无效的。 为...
对于变量的作用域(scope),C、Java等语言采取的是“block scope”的方式。与之不同,JavaScript所采取的是“function scope”的方式 — 变量的作用域仅由所处的function决定,与if、for等逻辑块无关。比如,以下这个例子展示了JavaScript中与C、Java等语言不一样的行为:代码如下: function(){var s = 42;//s is visible throughout functionif (s > 3) {var x = "test";//x is visible throughout functionfor(var i=0; i<10; i++...
与C、Java等编程语言不同,JavaScript中的变量是无类型的,所有的变量定义使用的关键词均为var:代码如下: var a; var m, n; var x=42, y="test";如果定义变量后未对该变量进行赋值,那么该变量的值为undefined。如上面代码中的a、m、n三个变量的值均为undefined。由于JS中变量是无类型的,因此完全可以对同一个变量进行不同类型的赋值,如:代码如下: var b = "temp"; console.log(typeof b);//string b = 108; console.log(typeo...
本文实例讲述了js中取得变量绝对值的方法。分享给大家供大家参考。具体分析如下: 绝对值在js中我们直接使用abs函数来求,这里就来整理一些关于js中取得变量的绝对值的方法,以便让大家更深入的理解js绝对值的用法 js中的绝对值不怎么常用到,今天在写一个方法的时候遇到了,于是记录下来,与大家共同学习。 js中的默认对象——Math对象下面有一个abs函数,专门用来获取数字的绝对值,如:代码如下:Math.abs(-1); //1 Math.abs(-2...
本文实例分析了js函数内变量的作用域。分享给大家供大家参考。具体分析如下: 先看一个函数实例:代码如下:var a = 5; var c = 3; function t(){var a = 6;var b = 10;document.write(a+'-----'+b);document.write(c); } t();与php不同,js函数中如果要调用某个变量,它首先从函数内去查找。如例子中就是 a 是等于6;而在函数体内找不到c,于是,它就会在函数体外,往上找,找到即调用,找不到则报错。 希望本文所述对大家的javasc...
本文实例分析了javascript定义变量时带var与不带var的区别。分享给大家供大家参考。具体分析如下: 直接看实例里说明:代码如下: var abc=89;//带var,表示全局变量 function test(){var abc=80;//在函数内部,如果不带var,表示使用函数外全局变量;带上var,表示新定义一个全局变量 } test(); window.alert(abc);严格来说:函数体内不带var,并不是指定义一个变量,而是进行变量赋值,即var abc;abc=8。在函数体内如果进行赋值 a...
一、变量 ECMAscript变量是松散型变量,所谓松散型变量,就是变量名称可以保存任何类型的数据,每个变量仅仅是一个用于保存值的占位符。 定义:var firstDemo; 二、变量的作用域 2.1基本概念 使用var 定义变量:定义该变量的作用域的局部变量,这种定义变量的方法也被成为显式声明。 这么说不理解的话可以看看下面这个简单粗暴的例子:代码如下: test(); function test(){ var firstDemo="hello";//定义局部变量alert(firstDemo);/...
javascript 中变量通过var关键字(variable)来声明的。代码如下: var school = "beijingyizhong"也可以通过var 关键字给变量多个值。代码如下: var school = "beijingyizhong" , diqu = "beijing" , age = 100; 此外,与java不同,javascript可以在同一个变量中存储不同的数据类型。例如代码如下: var school = "beijing"; document.write(school); school = 132134; document.write(school);另外,javascript不需要声明变量就可以使...
本文实例讲述了JS交换变量的方法。分享给大家供大家参考。具体实现方法如下:代码如下:function jh(arr) { for (var i = 0; i var tem = arr[i]; arr[i] = arr[arr.length -i - 1]; arr[arr.length -i - 1] = tem; } } var names = new Array(); names[1] = "tom"; names[2] = "lily"; names[3] = "jek"; jh(names); alert(names); 希望本文所述对大家的javascript程序设计有所帮助。JavaScript教程/参考手册 ...
JavaScript本身没有判断一个变量是不是空值的函数,因为变量有可能是string,object,number,boolean等类型,类型不同,判断方法也不同。所以在文章中写了一个函数,用以判断JS变量是否空值,如果是undefined, null, '', NaN,false,0,[],{} ,空白字符串,都返回true,否则返回false代码如下: function isEmpty(v) {switch (typeof v) {case undefined:return true;case string:if (v.replace(/(^[ \t\n\r]*)|([ \t\n\r]*$...