标签:console name 第一天 age JavaScript 语法 var prototype log
JavaScript语法高级第一天学习笔记
本文章为本人在学习中自己总结的学习笔记,望大家喜欢采纳!
创建普通对象与工厂模式创建对象以及构造函数知识!!
1.使用js创建普通对象:
//创建一个学生对象: 名称 年龄 方法 吃饭;
//通过js创建普通对象方式:
var s1 = {
name:“张三”,
age:18,
eat:function(){
console.log("正在吃:")
}
}
var s2 = {
name:“李四”,
age:21,
eat:function(){
console.log("正在吃:")
}
}
var s3 = {
name:“王五”,
age:16,
eat:function(){
console.log(this.name +"正在吃:")
}
}
普通对象创建方式:
优点:简单,方便;
缺点:无法量产;
由于工作开发项目中多个创建对象,我们使用普通创建对象是比较不方便,我们可以使用“工厂模式”创建;
2.使用工厂模式创建对象:
//使用函数(工厂模式)创建对象
function createStudent(name,age,){
var s = new Object();
s.name = name;
s.age = age;
eat:function(){
console.log(this.name+"正在吃");
}
return s;
}
工厂模式创建对象方式:
优点:可以量产对象;
缺点:通过工厂模式创建出来的对象,无法明确对应类型;
3.构造函数创建:
借鉴了其他语言创建对象方法,创建类
类:同一类型事物的总称,包含的属性和方法 都写到构造函数里面
由于js没有类这个概念,我们利用构造函数模式来模拟类,利用js this指向的问题
//创建一个学生类
function Student(name,age){
this.name = name;
this.age = age;
this.eat = function(){
console.log(this.name+"正在吃!")
}
}
var s1=new Student("王一",21)
var s2=new Student("张三",21)
var s3=new Student("李四",23)
//s1 prototype 原型 一样的
//s2 prototype 原型 一样的
//s3 prototype 原型 一样的
console.log(s1.prototype==s2.prototype)
console.log(s2.prototype==s3.prototype)
console.log(s3)
这里的 new 做的是创建一个空对象{},执行后面的构造函数,将函数内容this,指向空对象,函数执行完成后,将创建的空对象返回给前方变量;
标签:console,name,第一天,age,JavaScript,语法,var,prototype,log 来源: https://blog.csdn.net/weixin_45819386/article/details/123024958
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。