文西马龙:http://blog.csdn.net/wenximalong/
记不住,和不知道是两回事,记住最常用的,记不住的,学会查找。
js面向(基于)对象编程—类(原型对象)与对象
对象—Object类
Object类是所有javascript类的基类,提供了一种创建自定义对象的简单方式,不需要程序员再定义构造函数。
主要属性:
constructor—对象的构造函数
prototype—获得类的prototype对象
static性质
主要方法:
hasOwnProperty(property)—是否属于本类定义的属性
isPrototypeOf(object)—是否是指定类的prototype
propertylsEnumerable(property)—是否可列举的属性
toString()—返回对象对应的字符串
valueOf()—返回对象对应的原始类型值
var i=new Number(10); // <====> var i-10;
Number.prototype.add=function(a){ // 所有Number对象都有一个add方法
return this+a;
}
window.alert(i.add(10).add(30)); //在这里,上面代码中的this就是i
var b=90;
window.alert(b.add(40));
function a(){
var i=0;
function b(){
alert(++i);
}
return b;
}
var c=a();
c();
function test(a){
window.alert(a);
}
function test(a,b){
window.alert(a+" "+b);
}
test(23); //它始终只找最后一个,只看最后一个,很神奇,javascript没有重载的概念。相当于第二个test函数就把第一个test函数覆盖掉了,就不认第一个test函数了。所有它会输出"23空格undefined"
//所以不管最后一个test函数前面,有多少个test函数,只认最后一个test函数。javascript不是编译语言,它遇到这样的情况也不会报错,而是在运行的时候选择一个,选最后一个。
window.test(3,"hello"); //从上面的分析,输出:3hello
function abc(a,b){
return a+b;
}
function abc(a,b,c){
return a+b+c;
}
window.alert(abc(1,2)); //这里会报错,因为return 1+2+undefined,无法返回,输出NaN
window.alert(abc(1,2,3)); //输出6
function abc(){
var s=0;
for(var i=0;i
demo3.html
请编写一个Pig对象,可以完成
(1)输出自己的名字,体重,年龄,颜色
(2)可以增加自己的体重/减轻自己的体重
(3)可以打印金字塔,层数随意(此猪的特殊能力)
*
***
*****
*******
(4)可以打印空心金字塔,层数随意
*
* *
* *
*******
(5)菱形
*
***
*****
***
*
(6)继续改进 输出 空心菱形
*
* *
* *
* *
*
函数—小练习
案例:编写一个函数(面向对象),从页面输入一个整数(1-9),打印出对应的乘法表:【上机练习】(聪明的小猫)
案例:编写函数,使给定的一个二维数组(3x3)转置
小结:
1.先设计类
2.然后根据类创建对象
小练习
1.设计计算机类,要求如下:
属性:品牌,颜色,cpu型号,内存容量,硬盘大小,价格,工作状态
方法:打开,关闭,休眠,创建一个计算机对象,调用打开,关闭方法
2.采用面向对象思想设计超级马里奥游戏人物
韩顺平_php从入门到精通_视频教程_学习笔记_源代码图解_PPT文档整理_目录