金色坐标

关注互联网应用和搜索引擎技术

« JDK5引入的线程并发开发concurrent包(三)JavaScript学习笔记2 »

JavaScript学习笔记1

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
"37" + 7 // returns 377

3,变量作用域

声明在function之外的变量为global型;

声明在function内的为local型。

你可以从window或frame中访问定义在另一个window或frame中的global变量,访问时只需要指定变量所在的window或frame的name即可。

例如,在document中定义一个名为phoneNumber的变量,则这个document中的所有子frame,都可以通过parent.phoneNumber访问这个变量。




原创文章,如转载请注明:转载自金色坐标 [ http://www.kingxy.com/ ]

本文链接地址:http://www.kingxy.com/archives/206.html

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

订阅博客

  • 订阅我的博客:订阅我的博客
  • 通过Google订阅本站
  • 通过bloglines订阅本站
  • 通过抓虾订阅本站
  • 通过yahoo订阅本站

Search

Google

最新评论及回复

最近发表

金色坐标博客——京ICP备09009094号

本站采用创作共用版权协议, 要求署名、非商业用途和保持一致. 转载本站内容必须也遵循“署名-非商业用途-保持一致”的创作共用协议.
KingXY Blog - This site is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 2.5 License.