本文共 3421 字,大约阅读时间需要 11 分钟。
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 | <!DOCTYPE HTML> <html> <head> <meta charset= "UTF-8" > <title></title> </head> <body> <script> ( function (){ /** * 1.取得JavaScript对象属性的两种方法 */ /* var user = { name : "tom", age : 20 }; //方法一: alert("name1: " + user.name); //方法二: alert("name2: " + user["name"]); //此种方法可以拼接字符串用 var n = "na" + "m" + "e"; alert("name3: " + user[n]); */ function Person(){} var p = new Person(); p.age = 10; p.name = "tom" ; var b = p ; b.name = "jerry" ; alert( "p : " + p.age + ", " + p.name); // 10,jerry alert( "b : " + b.age + ", " + b.name); // 10,jerry })(); </script> </body> </html> |
=========================================================================================
1 2 3 4 5 6 7 8 9 10 11 12 | /** * this的用法: * 那个对象实例调用this所在的函数,那么this就代表那个对象实例。 */ function Person() { this .show = function () { alert( this .name); } } var p = new Person(); p.name = "tom" ; p.show(); |
1 2 3 4 5 6 7 | <script> function test1() { alert( this .val); } var val = 90; test1(); // 等价于 window.test1(); window对象,要是放在function({...})();则不行的。 </script> |
=====================================================================================
1 2 3 4 5 6 7 | function Person() { this .name = "tom" ; this .age = 21; } var p1 = new Person(); var p2 = new Person(); alert(p1.name + " --- " + p1.name); // tom --- tom |
======================================================================================
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 | <!doctype html> <html> <head> <meta charset= "UTF-8" > <title>Document</title> </head> <body> <script type= "text/javascript" > ( function (){ /** * 1.我们给Javascript的类(原型对象)添加方法 */ var num = new Number(10); //表示用构造方法声明一个变量为10的变量,相当于 var num = 10; //给Number对象添加一个方法,所有的Number对象的实例都可以使用 Number.prototype.add = function (param) { return this +param; //返回调用对象和参数的和 } //使用 alert(num.add(20).add(30)); //返回60 var num2 = 60; alert(num2.add(90)); //150 /** * 2.给Array对象添加一个方法find(param),找到数组中含有param的第一个元素,并返回下标值。找不到返回-1 */ Array.prototype.find = function (param) { //遍历数组,this for ( var i = 0; i < this .length; i++) { if (param == this [i]) { return i; } return -1; }; } //调用 var array = new Array(); array[0] = "Tom" ; array[1] = "Jerry" ; array[2] = "Alax" ; alert(array.find( "Tom" )); //0 alert(array.find( "Xiweiyuan" )); //-1 })(); </script> </body> </html> |
=======================================================================================
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 | /** * 3.Javascript中并没有方法的重载一说!而以重名方法的最后一个为主。 */ /* function test1(param1) { alert(param1); } //所有调用test1方法时都是以这个方法为主 function test1(param1,param2) { alert(param1 + " --- " + param2); } //调用 test1(23); //23 --- undefined test1(23,24);// 23 --- 24 test1(23,24,23); // 23 --- 24*/ /* function test2(param1,param2) { return param1 + param2; } //所有调用test2方法时都是以这个方法为主 function test2(param1,param2,param3) { return param1 + param2 + param3; } alert(test2(2,3)); //NaN alert(test2(2,3,4)); //9 alert(test2(2,3,4,5)); //9*/ function test3() { var result = 0; for ( var i = 0; i < arguments.length; i++) { result += arguments[i]; }; return result; } alert(test3(2,3)); //5 alert(test3(2,3,4)); //9 alert(test3(2,3,4,5)); //14 |