call和apply的用法,並利用call實現js類的繼承
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 /* * 矩形 */ function Rectangle(len,width) { this.len = len; this.width = width; } /* * 乘以 */ function multiply(a,b) { return a * b; } // 矩形實例 var rectangle = new Rectangle(15, 30); //求矩形面積 var proportion = multiply.call(rectangle,rectangle.len, rectangle.width); // 等價於call //var proportion = multiply.apply(rectangle,[rectangle.len, rectangle.width]); document.write("矩形的面積是:"+proportion); document.write("<br/>"); document.write("/***********************分割線********************************/<br/>"); // 實現繼承 function Persion(name) { this.name = name; this.sayHello = function () { return "hello,"+this.name; } } function Student(name,sex,school) { Persion.call(this,name); this.sex = sex; this.school = school; this.mySex = function () { return this.sex; } this.mySchool = function () { return this.school; } } var stu = new Student('fengjx','男','廣西機電職業技術學院') document.write("stu sayHello:"+stu.sayHello()); document.write("<br/>"); document.write("stu sex is:"+stu.mySex()); document.write("<br/>"); document.write("stu school is :"+stu.mySchool()); document.write("<br/>");演示圖: