js基础语法

声明变量、输出、判断、循环

var str = "hello world!"; //声明变量
alert(str);     //输出到终端
if(1 > 2){     //判断
    document.write("no");
}
for(int i=1;i<10;i++){  //循环
    console.log(i);
}

Object 的构造函数
创建类对象

function Person(name,age,gender){
    this.name = name;
    this.age = age;
    this.gender = gender;
}

类对象的方法

如果在类对象里面写方法,有一个弊端就是每 new 一个新对象就会产生一个方法,解决的方法是:让所有对象共用一个方法

function Person(){
    this.sayName = fun;
}
function fun(){
    alert("hello");
}

函数原型
我们创建的每一个函数,解析器都会在函数中添加一个属性prototy

如果函数作为普通函数调用没有任何作用

如果作为构造函数调用时,它所创建的对象中都会有一个隐含的属性,指向该构造函数的原型对象,我们可以通过__proto__来访问该属性

通过同一个构造方法构造的对象,是同一个__proto__

当我们访问对象的一个属性或者方法时,它会先在对象的自身中寻找,然后再在原型对象中找

原型的方法可以覆盖

function MyClass(){
}
//向MyClass的原型中添加一个属性a
MyClass.prototype.a = 123;
//向MyClass的原型中添加一个方法
MyClass.prototype.sayHello = function(){
 alert("hello wold!");
};
var mc = new MyClass();
//console.log(MyClass.prototype);
console.log(mc.__proto__ == MyClass.prototype);//true
console.log(mc.a);//123
mc.sayHello();//hello wold!

可以使用对象的hasOwnProterty()来检查对象中是否含有该属性

mc.hasOwnProperty("name");

垃圾回收
将不用的变量设置成null

var str = 1;
str = null;
toString 方法
mc.__proto__.__proto__.hasOwnProterty("toString");
posted @ 2024-05-10 10:42  MAOCE  阅读(12)  评论(0)    收藏  举报