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


相关文章
|
JavaScript 前端开发
如何在 JavaScript 中使用 __proto__ 实现对象的继承?
使用`__proto__`实现对象继承时需要注意原型链的完整性和属性方法的正确继承,避免出现意外的行为和错误。同时,在现代JavaScript中,也可以使用`class`和`extends`关键字来实现更简洁和直观的继承语法,但理解基于`__proto__`的继承方式对于深入理解JavaScript的面向对象编程和原型链机制仍然具有重要意义。
|
Web App开发 JavaScript 前端开发
如何确保 Math 对象的方法在不同的 JavaScript 环境中具有一致的精度?
【10月更文挑战第29天】通过遵循标准和最佳实践、采用固定精度计算、进行全面的测试与验证、避免隐式类型转换以及持续关注和更新等方法,可以在很大程度上确保Math对象的方法在不同的JavaScript环境中具有一致的精度,从而提高代码的可靠性和可移植性。
|
编解码 JavaScript 前端开发
【Java进阶】详解JavaScript的BOM(浏览器对象模型)
总的来说,BOM提供了一种方式来与浏览器进行交互。通过BOM,你可以操作窗口、获取URL、操作历史、访问HTML文档、获取浏览器信息和屏幕信息等。虽然BOM并没有正式的标准,但大多数现代浏览器都实现了相似的功能,因此,你可以放心地在你的JavaScript代码中使用BOM。
400 23
|
JavaScript 数据可视化 前端开发
three.js简单实现一个3D三角函数学习理解
1.Three.js简介 Three.js是一个基于JavaScript编写的开源3D图形库,利用WebGL技术在网页上渲染3D图形。它提供了许多高级功能,如几何体、纹理、光照、阴影等,以便开发者能够快速地创建复杂且逼真的3D场景。同时,Three.js还具有很好的跨平台和跨浏览器兼容性,让用户无需安装任何插件就可以在现代浏览器上观看3D内容。
440 0
|
JSON 前端开发 JavaScript
JavaScript中对象的数据拷贝
本文介绍了JavaScript中对象数据拷贝的问题及解决方案。作者首先解释了对象赋值时地址共享导致的值同步变化现象,随后提供了五种解决方法:手动复制、`Object.assign`、扩展运算符、`JSON.stringify`与`JSON.parse`组合以及自定义深拷贝函数。每种方法都有其适用场景和局限性,文章最后鼓励读者关注作者以获取更多前端知识分享。
309 1
JavaScript中对象的数据拷贝
|
Web App开发 JavaScript 前端开发
如何学习JavaScript?
如何学习JavaScript?
428 5
|
JavaScript 前端开发 索引
JavaScript学习第二章--字符串
本文介绍了JavaScript中的字符串处理,包括普通字符串和模板字符串的使用方法及常见字符串操作方法如`charAt`、`concat`、`endsWith`等,适合前端学习者参考。作者是一位热爱前端技术的大一学生,专注于分享实用的编程技巧。
246 2
|
存储 JavaScript 前端开发
JavaScript学习第一章
本文档介绍了JavaScript的基础知识,包括其在网页中的作用、如何通过JavaScript动态设置HTML元素的CSS属性,以及JavaScript中的变量类型(`var`、`let`、`const`)和数据类型(基本数据类型与引用数据类型)。通过实例代码详细解释了JavaScript的核心概念,适合初学者入门学习。
257 1
|
JavaScript 前端开发 图形学
JavaScript 中 Math 对象常用方法
【10月更文挑战第29天】JavaScript中的Math对象提供了丰富多样的数学方法,涵盖了基本数学运算、幂运算、开方、随机数生成、极值获取以及三角函数等多个方面,为各种数学相关的计算和处理提供了强大的支持,是JavaScript编程中不可或缺的一部分。
|
缓存 JavaScript 前端开发
JavaScript中数组、对象等循环遍历的常用方法介绍(二)
JavaScript中数组、对象等循环遍历的常用方法介绍(二)
295 1

热门文章

最新文章