初识JavaScript和面向对象
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了初识JavaScript和面向对象,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含4208字,纯文字阅读大概需要7分钟。
内容图文
![初识JavaScript和面向对象](/upload/InfoBanner/zyjiaocheng/850/06136fda35dc4758bb4b63ff371fd661.jpg)
1.javascript基本数据类型:
number: 数值类型
string: 字符串类型
boolean: 布尔类型
null: 空类型
undefault:未定义类型
object: 基本数据类型的父类
2.创建对象
(1)自定义对象:
语法:var 对象名=new object();
例: var flower=new Object();
flower.name="长春花";
flower.showName=function(){
// this.name="牡丹花";//重新赋值
alert(this.name);
}
var flower1=new flower();
调用方式:对象名.属性或者方法
(2)内置对象:
String(字符串)对象
Date(日期)对象
Array(数组)对象
Boolean(逻辑)对象
Math(算数)对象
RegExp对象
3.构造函数:
构造函数的步骤:
(1)创建一个新对象
(2)将构造函数的作用域给新对象(this就指向这个新对象)
(3)执行构造函数中的代码
(4)返回新对象
语法:function 函数名(){} 注:函数名首字母大写
例:function Flower(){
}
constructor属性:
instanceof属性:
两种方式均是标识对象类型的(判断关键字前后是否具有上下级关系(层次)),但常用第二种方法
例:
// alert(flower2.constructor==Flower);
// alert(flower1.constructor==flower2.constructor);
alert(flower1 instanceof Object);//判断关键字前后是否具有上下级关系(层次)
alert(flower1 instanceof Flower);
4.原型对象:
使用prototype属性调用构造函数而创建的那个对象实例的原型对象,
使用原型对象的好处就是可以让所有对象实例共享它所拥有的属性和方法
语法:函数名.prototype.属性名="值";
例:function Flower(){}//创建一个无参的构造函数
Flower.prototype.name="长春花";//给Flower原型对象创建属性并赋值
Flower.prototype.area="非洲";
5.原型链:
例:
//创建一个父类
function Humans(){//创建一个无参的构造
this.foot=2;
}
Humans.prototype.getFoot=function(){
alert(this.foot);
}
//创建子类
function Man(){
this.head=1;
}
Man.prototype =new Humans();//原型继承一定要写在原型对象赋值之前
Man.prototype.getHead=function(){
alert(this.head);
}
var man1=new Man();
alert(man1.getFoot());
man1.getHead();
//alert(man1 instanceof Humans);
// alert(man1 instanceof Man);
alert( typeof man1);
alert(man1.valueOf());
6.对象继承:
function Humans(){//创建一个无参的构造
this.name=["aa","bb","cc"];
}
//创建子类
function Man(){
this.head=1;
}
Man.prototype =new Humans();
var man1=new Man();
man1.name.push("dd");//如果你赋值的是引用数据类型,相当于改原构造中的值
man1.getName();
var man2=new Man();
man2.getName();
7.借用构造函数:
语法:apply([thisObj[,argArray]]) 应用某一对象的一个方法,用另一个对象替换当前对象
call([thisObj[,arg1[,arg2[,argn[,...]]]]]) 调用一个对象一个方法,以另外一个对象替换当前对象
例: function Humans(){
alert("无参构造");
this.clothing=["哈哈","嘻嘻","呵呵"];
}
function Humans(name){
alert("有参构造");
this.name=name;
}
function Man(){
//Humans.call(this);//继承了Humans对象无参构造
Humans.call(this,"嘿嘿");//调用有参构造
this.age=19;
}
var man1=new Man();
alert(man1.clothing);//undefind
alert(man1.name);//嘿嘿
alert(man1.age);//19
8:组合函数:
组合继承有时也叫伪经典继承,指的是将原型链和借用狗杂函数的技术结合到一块,从而发挥二者之长
例: function Humans(name,age){//创建有参构造
this.name=name;
this.age=age;
}
Humans.prototype.getName= function () {//创建Humans原型对象的方法
alert(this.name);
}
function Man(name,age){//创建Man有参构造
Humans.call(this,name,age);//继承父类的构造
/* 等价于this.name=name;
this.age=age;*/
this.head=1;
}
Man.prototype=new Humans();//继承父类的原型对象的属性
Man.prototype.getHead=function(){
alert(this.head);
}
var man1=new Man("aa",20);
man1.getName();
//alert(man1.name);
//alert(man1.age);
var man2=new Man("bb",25);
man2.getName();
// alert(man2.name);
// alert(man2.age);
// Man.prototype=new Humans();
内容总结
以上是互联网集市为您收集整理的初识JavaScript和面向对象全部内容,希望文章能够帮你解决初识JavaScript和面向对象所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。