原型,原型链,call/apply(4)-object.create(原型)与调用toString();

Object.create(原型);

Person.prototype.name = "sunny";

              function Person(){

              }

              var person = Object.create(Person.prototype);

 

绝大多数(不是所有的)对象的最终继承自Object.prototype

Object.create()里面得填原型,那我不填东西是不是就构造出了没有原型的对象了?

不行,他告诉你必须填东西。他告诉你:一个对象的原型只能是一个对象或者是null,

没有原型

var obj = Object.create(null);

那。她是对象吗? 是对象。但是点开之后他就是没有proto,能不能人为的给他设置proto呢?

 

 

人为的给她加上的不好使,系统读不出来。

undefined和null不能调用toString()

原因:你要是说数字能调用toString(),因为他们能经过包装类。但是undefined是没有包装类的,他就是一个原始值,也没有原型,没有原型也就不可能有toString()方法。

拓展:各个变量,各个属性值调用toString(),返回的结果都是不一样的。

123.toString()这样调用为什么不行?首先识别成浮点型,正常对象来说.是调用的方法,但是数学计算这个.优先级是最高的。

为什么返回的不是字符串类型的大括号?

所以说javascript中避免用小数,

for(var i = 0;i < 10;i++){
				var num = Math.random().toFixed(2) * 100;
				console.log(num);
			}

精度的偏差

改:  

for(var i = 0;i < 10;i++){
				var num = Math.floor(Math.random() * 100);
				console.log(num);
			}

猜你喜欢

转载自blog.csdn.net/hdq1745/article/details/81837010