2020-02-18每日总结

JavaScript事件处理 DOM

窗口事件 表单元素事件 图像事件 键盘事件 鼠标事件

事件三要素:事件源(目标对象),事件(动作),事件处理程序(做什么)

(1)事件源.事件 =事件处理程序

事件源.事件 =function(){}

(2)在元素中直接绑定

(3)绑定事件监听函数

btn3.addEventListener("click"(点击事件),cs(函数名),false);

*****************************************************************

json格式 

var person={name:"zs",age:20};

//面向对象的思想

//创建一个对象模板

//其他语言中创建对象class类

//在JavaScript中创建对象模板是构造函数(ES5的标准,ES6用class)

function Student(name,subject,score){

this.name=name;

this.subject=subject;

this.score=score;

this.printScore=function(){

console.log(this.name+this.subject+this.score);

}

}

var stu3=new Student("zs","math",60);

stu3.printScore();

********************************************************************

其他创建对象方法

1.使用内置对象 object 

继承object类来实例化,再赋值

var 对象名=new object();

2.对象字面量

var 对象名={属性名:,属性名:,方法名:function(){}}

3.工厂函数,创建多个对象实例

function createHero(name,blood,weapon){

var h=new Object();

h.name=name;

h.blood=blood;

h.weapon=weapon;

h.attack=function(){

console.log(this.name+this.blood+this.weapon);

}

return h;

}

var hero=createHero("孙尚香",10,"炮");

hero.attack();

4.构造函数

function Hero(name,blood,weapon){

this.name=name;

this.blood=blood;

this.weapon=weapon;

this.attack=function(){

console.log(this.name+this.blood+this.weapon);

}

}

var h1=new Hero("sfasdf",12,"fdsf");

h1.attack();

var h2=new Hero("sfasdf",321,"fdsf");

h2.attack();

//查看两个attack的方法是否是同一个

console.log(h1.attack===h2.attack);

//如何解决:1.使用命名函数把attack匿名函数提出

5.原型创建对象

function Hero(name,blood,weapon){

this.name=name;

this.blood=blood;

this.weapon=weapon;

}

Hero.prototype.attack=function(){

console.log(this.name+this.blood+this.weapon);

}

你可能感兴趣的:(2020-02-18每日总结)