未加星标

javascript权威指南》第八章3.8-3.10章节

字体大小 | |
[前端(javascript) 所属分类 前端(javascript) | 发布者 店小二03 | 时间 2016 | 作者 红领巾 ] 0人收藏点击收藏
3.8类型转换 3.8.1 转换和相等性

需要注意

null == undefined; "0" == 0; 0 == false; "0" == false;

重点注意:if语句将undefined转换为false,但是“==”运算符从不视图将其才作数转换为布尔值

另外,一个值转换为另外一个值并不意味这两个值相等,例如undefined转为了false,但是并不表明undefined == false

3.8.2 显式类型转换

显式转换有助于代码清晰易读,和方便运算。

Number("3");// 3 String(false);// false Boolean([]);// true(因为有数组,即使她是空数组) Object(3); // new Number(3),新建一个新的数组 x + ""; //等价于String(x) +x;//等价于Number(x) x-0; //等价于Number(x) !!x; //等价于Boolean(x) //number类定义的toString方法可以转换数字到其他进制,默认是十进制 var n = 17; n.toString(2);//转换为2进制 //toFixed方法根据小数点后的指定位数转换为字符串 var n = 123456.789; n.toFixed(2); //等于123456.78 ,而且他是一个字符串 //parseInt和parseFloat,解析整数和浮点数,相当于格式化 var n = 123456.789; parseInt(n); //等于123456 parseFloat(n);//等于一样,因为本身就是一个浮点数 3.8.3 对象转换为原始值 对象到布尔值的转换:只要有对象都转为true 对象到字符串的转换和对象到数字的转换是通过调用待转换对象的一个方法来完成的,有两种方式 toString()方法 valueOf()方法

第一种:

数组类对象的toString会将每个数组都转换为一个字符串,并在元素之间添加逗号后合并成一个字符串 函数类对象的话,则是返回这个函数的实现定义的表示方式,即将用户定义的函数转换为javascript源代码字符串 日期类对象的话,会返回一个可被javascript解析的日期和时间字符串 RegExp类对象则返回表示正则表达式直接量的字符串

第二种:

如果存在任意原始值,他将默认将对象转换为表示他的原始值(如果是一个Date对象的话,就会返回一个12343546003030这样的毫秒数的原始值)

转换过程:

如果对象具有toString方法,则调用这个方法 如果对象没有toString方法,则调用valueOf方法 都不是的话,就返回一个类型错误 3.9变量声明

var 来声明变量

3.10 变量作用域 javascript没有块级作用域 而使用函数作用域function scope:变量在声明他们的函数体以及这个函数体嵌套的任意函数体内都是有定义的 将变量声明放在函数体顶部,而不是将声明靠近放在使用变量之处,更容易清晰地反应了真实的变量作用域 3.10.2作为属性的变量

javascript可以允许使用this关键字来引用全局对象,却没有方法可以引用局部变量中存放对象,这个涉及到作用域链的问题

3.10.3 作用域链 scope chain 每一段javascript代码都有一个与之关联的作用域链 这个作用域链式一个对象列表或者链表 当javascript需要查找变量x的值的时候(这个过程称为变量解析variable reslution),他会从链中的第一个对象开始查找,直到找到为止 作用域链的最顶层是一个全局对象组成的 在不包含嵌套的函数体内,作用域链上有两个对象,第一个是定义函数参数和局部变量的对象,第二个是全局对象 在定义一个函数时,他实际上保存一个作用域链 当调用这个函数时,他创建一个新的对象来存储他的局部变量,并将这个对象添加至保存的那个作用域链上 每次调用外部函数时,内部函数又会重新定义一遍,因为每次调用外部函数时,作用域链都是不同的。

本文前端(javascript)相关术语:javascript是什么意思 javascript下载 javascript权威指南 javascript基础教程 javascript 正则表达式 javascript设计模式 javascript高级程序设计 精通javascript javascript教程

主题: 变量定位
分页:12
转载请注明
本文标题:javascript权威指南》第八章3.8-3.10章节
本站链接:http://www.codesec.net/view/481950.html
分享请点击:


1.凡CodeSecTeam转载的文章,均出自其它媒体或其他官网介绍,目的在于传递更多的信息,并不代表本站赞同其观点和其真实性负责;
2.转载的文章仅代表原创作者观点,与本站无关。其原创性以及文中陈述文字和内容未经本站证实,本站对该文以及其中全部或者部分内容、文字的真实性、完整性、及时性,不作出任何保证或承若;
3.如本站转载稿涉及版权等问题,请作者及时联系本站,我们会及时处理。
登录后可拥有收藏文章、关注作者等权限...
技术大类 技术大类 | 前端(javascript) | 评论(0) | 阅读(27)