Javascript对象学习3 - 小知识

简介:
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>

200243990.png

=========================================================================================


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();

093750443.png

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


095136656.png


======================================================================================


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







     本文转自韩立伟 51CTO博客,原文链接:http://blog.51cto.com/hanchaohan/1309891 ,如需转载请自行联系原作者


相关文章
|
3天前
|
JavaScript 前端开发
在JavaScript中,函数原型(Function Prototype)是一个特殊的对象
【5月更文挑战第11天】JavaScript中的函数原型是一个特殊对象,它为所有函数实例提供共享的方法和属性。每个函数在创建时都有一个`prototype`属性,指向原型对象。利用原型,我们可以向所有实例添加方法和属性,实现继承。例如,我们定义一个`Person`函数,向其原型添加`greet`方法,然后创建实例`john`和`jane`,它们都能调用这个方法。尽管可以直接在原型上添加方法,但推荐在构造函数内部定义以封装数据和逻辑。
10 2
|
3天前
|
JavaScript 前端开发
JavaScript 提供了多种方法来操作 DOM(文档对象模型)
【5月更文挑战第11天】JavaScript 用于DOM操作的方法包括获取元素(getElementById, getElementsByClassName等)、修改内容(innerHTML, innerText, textContent)、改变属性、添加/删除元素(appendChild, removeChild)和调整样式。此外,addEventListener用于监听事件。注意要考虑兼容性和性能当使用这些技术。
6 2
|
7天前
|
存储 JavaScript 前端开发
JavaScript对象方法详解
JavaScript对象方法详解
15 1
|
8天前
|
JavaScript
js多维数组去重并使具有相同属性的对象数量相加
js多维数组去重并使具有相同属性的对象数量相加
10 1
|
14天前
|
前端开发 JavaScript 数据安全/隐私保护
前端javascript的DOM对象操作技巧,全场景解析(二)
前端javascript的DOM对象操作技巧,全场景解析(二)
|
14天前
|
移动开发 缓存 JavaScript
前端javascript的DOM对象操作技巧,全场景解析(一)
前端javascript的DOM对象操作技巧,全场景解析(一)
|
14天前
|
缓存 编解码 自然语言处理
前端javascript的BOM对象知识精讲
前端javascript的BOM对象知识精讲
|
14天前
|
JavaScript 前端开发
JavaScript 日期对象
JavaScript 日期对象
|
14天前
|
存储 JavaScript 前端开发
JavaScript对象
JavaScript对象
|
14天前
|
JavaScript 前端开发
JavaScript的math对象
JavaScript的math对象