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