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

js语言精粹

时间:2017-10-05 21:26:49      阅读:423      评论:0      收藏:1      [点我收藏+]

标签:turn   eof   属性   修改   cal   typeof   span   nbsp   函数   

1、typeof null == “object” ,所以不能通过typeof ~ == "object",判断为对象   ; a、判断为null的,直接~ === null;b、判断对象(~ && typeof ~ == "object"),因为null为假

 

2、prototype和__proto__的概念

prototype是函数的一个属性(每个函数都有一个prototype属性),这个属性是一个指针,指向一个对象。它是显示修改对象的原型的属性。

__proto__是一个对象拥有的内置属性(请注意:prototype是函数的内置属性,__proto__是对象的内置属性

 

var a = {};
    a.n = 3;
    a.__proto__.n = 4;
    console.log(a.n)

 

3、new 的过程

var Person = function(){};
var p = new Person();

new的过程拆分成以下三步:
(1) var p={}; 也就是说,初始化一个对象p
(2) p.__proto__ = Person.prototype;
(3) Person.call(p); 也就是说构造p,也可以称之为初始化p

var b = function () {
        console.log(33)
    }

    b.prototype.n = function () {
        return 3
    }

    var c = new b();

    console.log(c.__proto__ === b.prototype)

 

js语言精粹

标签:turn   eof   属性   修改   cal   typeof   span   nbsp   函数   

原文地址:http://www.cnblogs.com/founderswitch/p/7622831.html

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