call and apply usage, and use call to implement the JS class inheritance
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 The |
* * * Rectangle/function Rectangle (len,width) {this.len = len; this.width = width }/* Times/function Multiply (a,b {return a * b;}//Rectangle instance var rectangle = new Rectangle (15, 30); To find the rectangular area var proportion = Multiply.call (Rectangle,rectangle.len, rectangle.width); Equivalent to call//var proportion = Multiply.apply (Rectangle,[rectangle.len, rectangle.width]); document.write ("Rectangular area is:" +proportion); document.write ("<br/>"); document.write ("/*********************** Split Line ********************************/<br/>"); //Implementation inheritance function Persion (name) {this.name = name; This.sayhello = function () {return "Hello," +this.name;}} &NB Sp 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 ', ' Male ', ' Guangxi electromechanical Vocational Technical College ') 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/>"); |
Demo diagram: