博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Javascript对象学习3 - 小知识
阅读量:6837 次
发布时间:2019-06-26

本文共 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
     本文转自韩立伟 51CTO博客,原文链接:http://blog.51cto.com/hanchaohan/1309891
,如需转载请自行联系原作者
你可能感兴趣的文章
bash shell实现二进制与十进制数的互转
查看>>
精准测试
查看>>
Oracle11G_逻辑备份
查看>>
Linux正变得无处不在;应用大盘点
查看>>
IEEE期刊
查看>>
pssh使用
查看>>
索引优化系列十四--啥时分区索引性能反而低
查看>>
hive的变量传递设置
查看>>
apache-shiro杂记(三) 用了apache-shiro后,HttpSession.getServletContext() API无法正常工作了...
查看>>
eclipse 中的 maven run configurations
查看>>
spring 项目中的一个异常
查看>>
CentOS PPTP ×××
查看>>
电子工程师必须知道的10个网站 !!!
查看>>
我的友情链接
查看>>
防Xss攻击,包含富文本编辑器的处理
查看>>
MyBatis延迟加载
查看>>
利用MAVEN打包可运行jar包,包括依赖的第三方包
查看>>
Java调用 shell脚本阻塞
查看>>
rabbitmy实战
查看>>
mysql-Mac终端下遇到的问题总结
查看>>