function Car(color,door){
var ocar = new Object;
ocar.color = color;
ocar.doors = door;
ocar.showColor = function(){
document.write(this.color)
};
return ocar;
}
var car1 = Car(“red”,4);
var car2 = Car(“blue”,4);
car1.showColor() //output:”red”
car2.showColor() //output:”blue”
每次调用时都去创建新的属性以及函数
function Car(color,door){
this.color = color;
this.doors = door;
this.showColor = function(){
alert(this.color)
};
}
var car1 = new Car(“red”,4);
var car2 = new Car(“blue”,4);
每次调用都会为对象创建自己的方法
//定义
function Car() { };
Car.prototype.color = "red";
Car.prototype.doors = 4;
Car.prototype.drivers = new Array("Tom", "Jerry");
Car.prototype.showColor = function() {
alert(this.color);
}
//调用:
var car1 = new Car();
var car2 = new Car();
car1.showColor();
car2.showColor();
alert(car1.drivers);
car1.drivers.push("stephen");
alert(car1.drivers); //结果:Tom,Jerry,stephen
alert(car2.drivers); //结果:Tom,Jerry,stephen
//可以用json方式简化prototype的定义:
Car.prototype = {
color: "red",
doors: 4,
drivers: ["Tom", "Jerry",'safdad'],
showColor: function() {
alert(this.color);
}
}
利用对象的prototype属性,可把它看出创建新对象所依赖的原型
function Car(color,door){
this.color = color;
this.doors = door;
this.arr = new Array(“aa”,”bb”);
}
Car.prototype.showColor(){
alert(this.color);
}
var car1 = new Car(“red”,4);
var car2 = new Car(“blue”,4);
car1.arr.push(“cc”);
alert(car1.arr); //output:aa,bb,cc
alert(car2.arr); //output:aa,bb
原型的所有属性都会立即赋予要创建的对象
function Car(color,door){
this.color = color;
this.doors = door;
this.arr = new Array(“aa”,”bb”);
if(typeof Car._initialized == “undefined”){
Car.prototype.showColor = function(){
alert(this.color);
};
Car._initialized = true;
}
}
使用一个标志来判断是否已经给原型赋予了方法。保证该方法只创建一次
function Car(){
var ocar = new Object();
ocar.color = “red”;
ocar.doors = 4;
ocar.showColor = function(){
alert(this.color)
};
return ocar;
}
var isArray=function(value) {
if (typeof Array.isArray === "function") {
return Array.isArray(value);
} else {
return Object.prototype.toString.call(value) === "[object Array]";
}
}
(function(a){ console.log(a); })(123);
(function(a){ console.log(a); }(1234));
!function(a){ console.log(a); }(12345);
+function(a){ console.log(a); }(123456);
-function(a){ console.log(a); }(1234567);
var fn=function(a){ console.log(a); }(12345678)
//DOM文档加载完执行
$(function(){ })
//等效
$(document).ready(function(){ });
//优于: 图片等元素加载完执行
window.onload
async function (){
return await new Promise(function (resolve, reject) {
if (error) return reject(error);
resolve();
}).then(function(val) {
return val;
}).catch(function(err){
console.log(err)
})
}