js 中输出定义变量的类型 typeof 变量名. var u: --underfined类型 var s = "你是一个好人": --string类型 var n = 10; --number类型 var num = NaN; --number 类型,not a number. var n = null: -- object类型 var d = new Date(); --时间 var a = new Array(); --数组
1.变量声明 var a = 1; //使用var声明变量 b = 1; //不使用var 第一种情况,在当前域中声明一个名为a的变量,如果实在方法内则为局部变量,若在最外层声明则a为全局变量. 第二种情况,实际上是赋值操作,执行代码时会先在当前域寻找是否存在名为b的变量,若没有则到外面一层寻找,直到跳到最外面的那层,如果在任何域中还是没有.就会在最外层的对象创建一个名为b的属性并赋值为1.所以b实际上是全局对象(在客户端的JavaScript中,在浏览器窗口中的所有JavaScript代码中,
私有变量在js中是个什么概念.当下我的认识是var所定义的变量,实际可以理解为属性和方法,或者单单是临时存储器,不归属任何对象. 一个声明函数: function a(){ var v = "bc";} 这样定义的变量v有以下特征: 只有当a函数被执行的时候,即添加尾括号调用,内部才会开始v的声明(预处理)及赋值的操作(执行). 用后即毁,再不占用内存. 闭包的情况会常驻内存,直到闭包结束. console.dir打印函数v变量不可见. a函数的prototype是个Object对象
<script> function test(){ console.log(a); console.log(foo()); var a=1; function foo(){ return 2; }; }; </script> 执行结果为:undefined和2: 变量声明在js中需要提升,所以以上代码相当于以下代码: <script> function test(){ var a; function foo(){ return 2; }; console.log(a);
编程语言都是同样的,JS中也是有变量的.首先JS的变量是区分大写和小写的,这个须要注意.比方number和Number是不同的变量.无论是经常使用类型的,还是对象类型,比方 Object obj和Object Obj是两个对象.然后是对变量赋值.这个基本都一样,能够先声明再赋值, var i; i=0; 也能够声明时赋值, var i=2; 而变量假设你不又一次赋值,它是不会改变的,比方 var i=2. var i; 由于i没有又一次赋值.所以i还是2.而对于对象变量则比較有意思,不须要向那些
s中的变量function foo(){ n=99;}alert(n);//undefined,因为没有调用该函数 function foo(){ n=99;}foo();alert(n);//99,因为函数里面的变量没有用var声明,成了全局变量 function foo(){ var n=99;}foo();alert(n);//error,因为函数里面的变量是关键字var声明的,是局部变量