码迷,mamicode.com
首页 > 编程语言 > 详细

阅读:《javascript权威指南》(笔记)

时间:2017-04-06 01:04:24      阅读:158      评论:0      收藏:0      [点我收藏+]

标签:版本   私有属性   副本   valueof   ...   定义   避免   数字   efi   

判断是否为NaN类型:x!=x //true  当且仅当x为NaN时,x才不等于自身。

          isNaN()//ture  参数为NaN或则非数字值,则返回true。false可判是否为断数字和字符串数字(如:"3");

js数字精度值极其接近0.1,如:0.411 - 0.401,期待结果0.01,实际结果结果为0.009999999999999953;通过"\"符号连接字符串,拼接html字符串更简洁,更高效;

parseInt和parseFloat参数若为字符串,则该字符串只能以空格和数字开头,否则解析为NaN,并且只能解析连贯的数字,如:parseInt("  12abc")//12,parseInt("abc111")//NaN,parseInf("  1a2b3c")//1,parseInf("  1 2")//1;

toString或valueOf将对象转换为原始值,但大多数对象无法真正表示原始值,此时valueOf方法返还对象本身;

通过var定义的变量可枚举,可读写,但不可配置,so,无法通过delete删除;

通常,null表示意料之中的空值,而undefined表示意料之外的,不可预见的空值;

"," 操作符,返回第二个操作数,如连续使用,则返回最后一个操作数,如:1,2,3//3;

一般情况下,函数和可执行对象都能用typeof检测出"function",但在ie9之前,非原生可执行对象的检出结果却为"object";

with(o) x = 1,如果o对象中存在x,则对其赋值为1,否则,with语句不起任何作用,x将会挂在window对象下(如果不存在x),并被赋值为1。在严格模式种,禁止使用with;

严格模式(ES5):禁止使用with,

         变量必须先声明,否则会抛出引用错误异常,

         arguments不再引用函数的参数地址,而是参数的副本,

         运用arguments.caller和arguments.callee将抛出异常,

         更多见《javascript权威指南》(第六版)5.7.3 "use strict";

属性描述(读写 枚举 配置)在ES5以前都是true,不可配置,ES5及更高版本则可配置;

js无法通过对象(B)修改其原型链上对象(A/B.prototype),可利用这点,实现inherit函数,创建继承目标对象(A)的空对象(B)来代替A做一些事情,从而避免A被意外修改,inherit函数如下:
function inherit(obj){
  ... //确保obj为非null的对象
  if(Object.create){//ES5+
    return Object.create(obj)
  }else{//ES5以下,利用new function创建继承关系
    function f() {}
    f.prototype = obj
    return new f()
  }
}

Object.key与Object.getOwnPropertyNames(ES5),Object.key()返回可枚举的自有属性名的集合A,Object.getOwnPropertyNames()返回所有自有属性名的集合B,A是B的子集;

getter、setter(ES5),属性描述中不具有writable这项,只有getter,则可读,只有setter,则可写,两者都有,则可读写;

getPrototypeOf(ES5)和setPrototypeOf(ES6)来自Object对象,为其私有属性,不可继承,也不能在Object原型链上找到,so,一般情况,只能通过Object.getPrototypeOf/setPrototypeOf的方式调用,而isPrototypeOf(ES5)来自根对象(Object.prototype),可被继承,因此,可直接使用任意对象A.isPrototypeOf的方式使用;

 

 

     

 

阅读:《javascript权威指南》(笔记)

标签:版本   私有属性   副本   valueof   ...   定义   避免   数字   efi   

原文地址:http://www.cnblogs.com/taketo/p/6663843.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!