JavaScript的变量:JS中的变量必须以字母,下划线或者美元符$开头,后续可以包括数字。需要注意的是JS变量大小写敏感,字母大小写不一样就代表两个变量。JS1.5版本之后好像可以使用的符号更多,但不建议使用。
1,值类型
Numbers, 如: 42 , 3.14159等
Logical (Boolean) ,如:true, false
Strings, 如: "Howdy!"
null
undefined,值未定义。
注意:null和undefined的区别
null
是一个对象,但是为空。因为是对象,所以 typeof null 返回 'object' 。
同时,null 是 JavaScript 保留关键字。
null 参与数值运算时其值会自动转换为 0 ,因此,下列表达式计算后会得到正确的数值:
| 表达式:123 + null 结果值:123 表达式:123 * null 结果值:0 |
undefined
undefined是全局对象(global)的一个特殊属性,其值是未定义的。但 typeof undefined 返回 ‘undefined’ 。
虽然undefined是有特殊含义的,但它确实是一个属性,而且是全局对象(window)的属性。请看下面的代码:
| alert('undefined' in window); //输出:true var anObj = {}; alert('undefined' in anObj); //输出:false |
因此,undefined是window对象的一个属性,但却不是anObj对象的一个属性。
注意:尽管undefined是有特殊含义的属性,但却不是JavaScript的保留关键字。
undefined参与任何数值计算时,其结果一定是NaN。
顺便说一下,NaN是全局对象(global)的另一个特殊属性,Infinity也是。这些特殊属性都不是JavaScript的保留关键字!
全局对象是预定义的对象,作为 JavaScript 的全局函数和全局属性的占位符。通过使用全局对象,可以访问所有其他所有预定义的对象、函数和属性。全局对象不是任何对象的属性,所以它没有名称。
全局对象只是一个对象,而不是类。既没有构造函数,也无法实例化一个新的全局对象。
2,类型转换
表达式中,包含数字和字串时,“+”操作符将数字转换为字符串;其它操作符则不转换。如:
| x = "The answer is " + 42 // returns "The answer is 42" y = 42 + " is the answer" // returns "42 is the answer" 37 - 7 // returns 30 |
3,变量作用域
声明在function之外的变量为global型;
声明在function内的为local型。
你可以从window或frame中访问定义在另一个window或frame中的global变量,访问时只需要指定变量所在的window或frame的name即可。
例如,在document中定义一个名为phoneNumber的变量,则这个document中的所有子frame,都可以通过parent.phoneNumber访问这个变量。




