[JavaScript]类之三
详解javascript类继承机制的原理
目前 javascript的实现继承方式并不是通过“extend”关键字来实现的,而是通过constructor function和prototype属性来实现继承。首先我们创建一个animal类
js 代码
var animal = function(){ //这就是constructor function 了
this.name = 'pipi';
this.age = 10;
this.height = 0;
}
//建立一个动物的实例
var a1 = new animal ();
构造函数与其他普通函数区别在于,1.构造函数里有 this关键字,2.调用构造函数是使用的new关键字。通过new运算符调用构造函数animal 后,系统就会返回一个对象,这个对象就相当于
等同这样的方式来产生js对象。
到这里我们知道如何在js中定义一个类了,接下来我们展示如何写一个cat
js 代码
var a1 = { name:'pipi' ,age:10,height:0 }
//或者
var a1 = new Object();
a1.name='pipi';
a1.age = 10;
a1.height = 0;
js 代码
var cat = function(){
this.play = function(){
alert('cat play')
}
}
cat .prototype = new animal ();
//prototype 属性指向一个对象
var c1 = new cat();
到这里,cat就继承了animal 对象,类cat的一个实例对象c1拥有属性name,age,height,和方法play了。
那么prototype起到了一个什么样的作用呢?
prototype就好比一个指针,它指向一个object,这个object就称为子类对象的原型。当cat的对象被创建的时候,由于cat的构造函数拥有prototype属性,那么cat的实例就会间接指向这个原型对
相关文档:
JS自带函数
concat
将两个或多个字符的文本组合起来,返回一个新的字符串。
var a = "hello";
var b = ",world";
var c = a.concat(b);
alert(c);
//c = "hello,world"
indexOf
返回字符串中一个子串第一处出现的索引(从左到右搜索)。如果没有匹配项,返回 -1 。
var index1 = a.indexOf("l");
//index1 = 2 ......
一、类型转换的方法和应该注意的问题:
1,转换为布尔型:
(1)用两次非运算(!):
!!5 ==> true
(2)用布尔型的构造函数:
new Boolean(5) == > true
值转换为布尔类型为false:
0,+0,-0,NaN,""(空字符串),undefined,null
除上面的值其他值在转换以后为true,需要特别提到的是:
"0",new Object(),funct ......
//把数据写入数据库
function
res(){
//获取输入值(myname和mymail是两个文本框的id)
var
uname = document.getElementById("myname"
).value;
var
umail = document.getElementById("mymail"
).value;
......
思路:浏览图片,读取其宽度ImageW,高度值ImageH。读取用户输入的分成几行Row几列Col。
每个方块:boxW=ImageW/Col;boxH=ImageH/Row;
在1到Row*Col中随机,第i个图片的位置设为pos【i】。然后动态创建div生成Row* ......
一个简单的javascript类定义例子
涵盖了javascript公有成员定义、私有成员定义、特权方法定义的简单示例
Java代码
<script>
//定义一个javascript类
function JsClass(privateParam/*&n ......