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);
}