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 ,如需转载请自行联系原作者


相关文章
|
7天前
|
JavaScript
JS 获取对象数据类型的键值对的键与值
JS 获取对象数据类型的键值对的键与值
|
17天前
|
JavaScript 前端开发
Math对象:JavaScript中的数学工具
Math对象:JavaScript中的数学工具
26 1
N..
|
24天前
|
存储 JavaScript 前端开发
JavaScript中的对象
JavaScript中的对象
N..
10 0
|
10天前
|
JavaScript 算法
原生JS完成“一对一、一对多”矩形DIV碰撞检测、碰撞检查,通过计算接触面积(重叠覆盖面积)大小来判断接触对象DOM
原生JS完成“一对一、一对多”矩形DIV碰撞检测、碰撞检查,通过计算接触面积(重叠覆盖面积)大小来判断接触对象DOM
|
2天前
|
JavaScript
【Js】检查Date对象是否为Invalid Date
【Js】检查Date对象是否为Invalid Date
5 0
|
3天前
|
存储 JavaScript 前端开发
JavaScript的引用数据类型主要包括对象
【4月更文挑战第16天】JavaScript的引用数据类型主要包括对象
9 4
|
4天前
|
JavaScript 前端开发 应用服务中间件
node.js之第一天学习
node.js之第一天学习
|
7天前
|
JavaScript
js 字符串String转对象Object
该代码示例展示了如何将一个以逗号分隔的字符串(`&#39;1.2,2,3,4,5&#39;`)转换为对象数组。通过使用`split(&#39;,&#39;)`分割字符串并`map(parseFloat)`处理每个元素,将字符串转换成浮点数数组,最终得到一个对象数组,其类型为`object`。
|
15天前
|
存储 JavaScript 前端开发
在浏览器中存储数组和对象(js的问题)
在浏览器中存储数组和对象(js的问题)
|
25天前
|
存储 JavaScript 索引
js开发:请解释什么是ES6的Map和Set,以及它们与普通对象和数组的区别。
ES6引入了Map和Set数据结构。Map的键可为任意类型,有序且支持get、set、has、delete操作;Set存储唯一值,提供add、delete、has方法。两者皆可迭代。示例展示了Map和Set的基本用法,如添加、查询、删除元素。
13 2