资讯

精准传达 • 有效沟通

从品牌网站建设到网络营销策划,从策略到执行的一站式服务

JavaScript学习笔记(五)

本课程学习视频教程:http://edu.51cto.com/course/15019.html

成都创新互联公司主营大化网站建设的网络公司,主营网站建设方案,重庆APP软件开发,大化h5微信小程序搭建,大化网站营销推广欢迎大化等地区企业咨询

1、javascript的面向对象

1.1、创建对象的方式

方式一:使用object对象搞定

方式二:json格式

json的格式:

JavaScript学习笔记(五)

 var stu={
                name:"zhangsan",
                addr:"南京",
                age:15,
                say:function () {
                    console.log(this.name,this.age,this.addr);
                }
        }
        stu.say();

json数组:

JavaScript学习笔记(五)

value的变化多端

JavaScript学习笔记(五)

方式三:工厂方法

function createObject(name,age){
    var object = new Object();
    object.name = name;
    object.age=age;
    object.say=function(){
        console.log(this.name,this.age);
    }
    return object ;
}
//创建对象
var object1 = createObject("张三",15);
//调用方法
object1.say();
//创建对象
var object2 = createObject("李四",20);
//调用方法
object2.say();

方式四:构造函数

题外话

function Person(){
            console.log(this.name,this.age);
}
//函数的普通调用方式
window.name="hello";
window.age=15;
Person();
Person();
默认直接调用函数实际上调用的对象是window对象

创建对象

方式五:原型模式

1.2、继承

1.2.1、对象冒充方式

利用的原理就是动态添加方法,转移this的指向

1.2.2、apply和call方式

call方法介绍

call 方法:调用一个对象的一个方法,以另一个对象替换当前对象。
call([thisObj[,arg1[, arg2[,   [,.argN]]]]])
参数
thisObj:可选项。将被用作当前对象的对象。
arg1, arg2,  , argN:可选项。将被传递方法参数序列。

使用call方法来改写上面的案例

 

apply:和call用法基本一致

apply 方法:应用某一对象的一个方法,用另一个对象替换当前对象。

apply([thisObj[,argArray]])

参数:thisObj可选项。将被用作当前对象的对象。

argArray:可选项。将被传递给该函数的参数数组。

apply方式来改写案例

1.2.3、采用原型+apply的混合方式实现继承

补充知识点:

callee :返回正被执行的 Function对象,也就是所指定的 Function对象的正文

function factorial(n){
            if (n <= 0)
                return 1;
            else
                return n * arguments.callee(n - 1)
 }
console.log(factorial(5));

eval():执行eval参数中js代码

 eval("var mydate = new Date();");
 alert(mydate);

练习:

编写一个形状类,它是一个父类

然后编写一个长方形类,要求求出长方形的周长

在编写一个三角形类,求出三角形的周长




    
    Title
    




本文名称:JavaScript学习笔记(五)
标题链接:http://cdkjz.cn/article/pipoih.html
多年建站经验

多一份参考,总有益处

联系快上网,免费获得专属《策划方案》及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

业务热线:400-028-6601 / 大客户专线   成都:13518219792   座机:028-86922220