JS面向对象笔记

时间:2015-04-02 01:02:55   收藏:0   阅读:340

0、匿名函数定以后直接调用:(function(numA, numB) { alert(numA + numB); })(3,4);//弹窗7

1、js中函数就是对象,对象就是函数。arguments表示函数的参数集合

2、js中方法直接调用为函数,用new调用为对象。JavaScript中没有类的语法,是用函数闭包模拟出来的

3、js中给对象动态添加属性示例:

//定义一个函数 
function Person(){

}
//1、直接调用函数名,就只是单纯的表示调用函数 Person(); //2、是用new,表示创建了一个对象,js是动态语言,可以给对象动态添加属性和方法 var per = new Person(); per.name = "小明"; //给per对象动态添加属性name per.age = 26; //给per对象动态添加属性age per.sayHi = function() { alert("hello"); }//给per对象动态添加方法sayHi //调用per对象的属性和方法 alert(per.name);//或者alert(per[‘name‘]); per.sayHi();

 

4、js中支持this关键字,通过this关键字为对象的属性赋值

function Person(name, age) {
     this.name = name;    //给Person添加name属性,再把参数name的值赋值给该属性
     this.age = age;
     this.sayHi = function () { alert("My name is " + this.name + ", I‘m old " + this.age); }
}

//调用
var per = new Person("小明", 26);
per.sayHi();//弹窗。。。。。

function Person(name, age)可以看做是声明构造函数,name、age这些属性也是动态添加的,new相当于创建了函数的一个实例

 

5、String对象方法学习

6、Array对象:js中Array对象就是数组,是动态数组,动态添加

示例:var names = new Array();

names[0] = "zhang";

names[1] = "mao";

names[2] = "jiang";

 

7、扩展方法:通过类对象的prototype设置扩展方法

//给string对象扩展一个方法addSign(sign);
String.prototype.addSign = function (sign) {

        if (!sign) {//如果sign是空
              sign = "^_^";
        }
        return sign + this + sign;
}

//调用测试
var str = "tan";
alert(str.addSign());  //弹出内容:^_^tan^_^
alert(str.addSign("***"));//弹出内容:***tan***

 

原文:http://www.cnblogs.com/tandaxia/p/4385746.html

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!