JavaScript技巧与高级特性

JavaScript技巧与高级特性

ID:47017705

大小:245.00 KB

页数:19页

时间:2019-06-02

JavaScript技巧与高级特性_第1页
JavaScript技巧与高级特性_第2页
JavaScript技巧与高级特性_第3页
JavaScript技巧与高级特性_第4页
JavaScript技巧与高级特性_第5页
资源描述:

《JavaScript技巧与高级特性》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、前言  随着Ajax应用的流行,JavaScript语言得到了越来越多的关注。开发人员对JavaScript的使用也日益深入。JavaScript已经不再只是用来为页面添加一些花哨的效果,它已经成为构建Ajax应用的重要基石。JavaScript作为一种专门设计用来在浏览器中执行的动态语言,它有许多重要的特性,并且不同于传统的Java或C++语言。熟悉这些特性可以帮助开发者更好的开发Ajax应用。本文章介绍了JavaScript语言中十三个比较重要的特性,包括prototype、执行上下文、作用

2、域链和闭包等。null与undefined  JavaScript中一共有5种基本类型,分别是String、Number、Boolean、Null和Undefined。前3种都比较好理解,后面两种就稍微复杂一点。Null类型只有一个值,就是null;Undefined类型也只有一个值,即undefined。null和undefined都可以作为字面量(literal)在JavaScript代码中直接使用。  null与对象引用有关系,表示为空或不存在的对象引用。当声明一个变量却没有给它赋值的时候

3、,它的值就是undefined。¨undefined的值会出现在如下情况:  从一个对象中获取某个属性,如果该对象及其prototype链中的对象都没有该属性的时候,该属性的值为undefined。  一个function如果没有显式的通过return来返回值给其调用者的话,其返回值就是undefined。有一个特例就是在使用new的时候。JavaScript中的function可以声明任意个形式参数,当该function实际被调用的时候,传入的参数的个数如果小于声明的形式参数,那么多余的形式参

4、数的值为undefined。¨关于null和undefined有一些有趣的特性:  如果对值为null的变量使用typeof操作符的话,得到的结果是object;而对undefined的值使用typeof,得到的结果是undefined。如typeofnull==="object";typeofundefined==="undefined"null==undefined,但是null!==undefined  对于if表达式,大家都不陌生。JavaScript中if后面紧跟的表达式的真假值判断与

5、其它语言有所不同。具体请看表1。表1.JavaScript中的真假值类型真假值Null总是为假(false)Undefined总是为假(false)Boolean保持真假值不变Number+0,-0或是NaN的时候为假,其它值为真String空字符串的时候为假,其它值为真Object总是为真(true)从表1中可以看到,在JavaScript中使得if判断为假的值可能有null、undefined、false、+0、-0、NaN和空字符串("")。  JavaScript中有两个判断值是否相等的

6、操作符,==与===。两者相比,==会做一定的类型转换;而===不做类型转换,所接受的相等条件更加严格。===操作符的判断算法  在使用===来判断两个值是否相等的时候,如判断x===y,会首先比较两个值的类型是否相等,如果不相等的话,直接返回false。接着根据x的类型有不同的判断逻辑。¨如果x的类型是Undefined或Null,则返回true。¨如果x的类型是Number,只要x或y中有一个值为NaN,就返回false;如果x和y的数字值相等,就返回true;如果x或y中有一个是+0,另外

7、一个是-0,则返回true。¨如果x的类型是String,当x和y的字符序列完全相同时返回true,否则返回false。¨如果x的类型是Boolean,当x和y同为true或false时返回true,否则返回false。¨当x和y引用相同的对象时返回true,否则返回false。==操作符的判断算法在使用==来判断两个值是否相等的时候,如判断x==y,当x和y的类型一样的时候,判断逻辑与===一样;如果x和y的类型不一样,==不是简单的返回false,而是会做一定的类型转换。¨如果x和y中有一个

8、是null,另外一个是undefined的话,返回true。如null==undefined。¨如果x和y中一个的类型是String,另外一个的类型是Number的话,会将String类型的值转换成Number来比较。如3=="3"。¨如果x和y中一个的类型是Boolean的话,会将Boolean类型的值转换成Number来比较。如true==1、true=="1"¨如果x和y中一个的类型是String或Number,另外一个的类型是Object的话,会将Object类型的值转换成基本类型来比较

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。