Js对象推演

[b]1.js中所有东西都是对象,但有一些例外(原始值)[/b]
true, 123, 'abc', undefined, {}


[b]2.给对象加一些规则:所有对象可以通过点给对象设置属性值[/b]
var obj = {};
obj.abc = 123;

[b]3.给对象加一些规则:所有对象可以通过点取对象的属性值[/b]
console.log(obj.abc);

[b]4.给对象加一些规则:所有的对象都有__proto__属性,这个属性也是一个对象[/b]
console.log(typeof obj.__proto__);

[b]5.给对象设置属性时加一些规则:取对象属性值的时候,如果这个对象本身没有这个属性,那么就去这个对象的__proto__属性中找,对于__proto__也适用,如果找到某个对象的__proto__为null时,则这个值为undefined[/b]
obj.aaa ==> obj.__proto__.aaa ==> obj.__proto__.__proto__ = null


[b]6.添加一种特殊的对象类型:函数对象,也叫函数,这种对象包含一些可执行代码,通过()可以调用这些执行代码,而且这种特殊对象继承了对象的所有的规则[/b]
var func = function(){
console.log('Hello world!');
}
func();

[b]7.给函数添加一些规则:所有对象都有一个prototype属性,这个属性也是一个对象[/b]
console.log(typeof func.propertype);
func.propertype.abc = 123;

[b]8.给函数添加一些规则:可以通过函数对象作为构造函数创建普通对象,创建过程是这样的[/b]
var obj = {};
func.call(obj);
obj.__proto__ = func.prototype;

[b]9.给函数添加一些规则:第8步创建对象太复杂了,可以简写成下面的形式[/b]
var obj = new func();

[b]10.补充一些规则:创建函数对象还可以这样[/b]
function func(){}

[b]11.补充一些规则:以上创建的函数实际上等价于[/b]
var func = new Function("");
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值