一.內置對象javascript
object對象:ECMAScript 中的全部對象都由這個對象繼承而來;Object 對象中的全部屬性和方法都會出如今其餘對象中html
ToString() : 返回對象的原始字符串表示。
ValueOf() : 返回最適合該對象的原始值。對於許多對象,該方法返回的值都與 ToString() 的返回值相同
Array ,String , Date, Math, Boolean, Number Function, Global, Error, RegExp , Objectjava
<script language="javascript"> var aa=Number.MAX_VALUE; //利用數字對象獲取可表示最大數 var bb=new String("hello JavaScript"); //建立字符串對象 var cc=new Date(); //建立日期對象 var dd=new Array("星期一","星期二","星期三","星期四"); //數組對象 </script>
二.字符串對象python
<script> var str1 = "str1"; var str2 = new String("str2"); console.log(str1); console.log(str2); console.log(str1+str2); //字符串長度 console.log(str2.length) //把字符串轉換城整數[parseInt]或者小數[parseFloat] var num1="100元"; var num2="1.23"; console.log(parseInt(num1)); console.log(parseFloat(num2)); //輸出: //100 //1.23 //split把字符串根據指定字符分割轉換成數組 var str="廣東省-廣州市-天河區"; var ret=str.split("-"); console.log(ret); //輸出: //["廣東省","廣州市","天河區"] // indexOf查找字符串是否含有指定字符 var str="廣東省-廣州市-天河區"; var target="廣州"; console.log(str.indexOf(target)); //輸出: //4 //注意,找不到返回的是-1。 //substring截取字符串 //用法: substring(開始的下標,結束的下標) var str="abcdef"; console.log(str.substring(2,3)); // 輸出: //c </script>
三:數組對象面試
1.建立數組數組
A.經過new Array()進行建立閉包
var arr1=new Array();
B.經過中括號進行建立函數
var arr2=[];
2.數組方法spa
<script> var arr1 = [11,22,33,44]; //length 計算數組長度 console.log(arr1.length); //4 //數組的下標 從0開始索引 注意:下標爲-1表示沒有這個元素,而不是倒數第一個! console.log(arr1[1]); //22 //獲取成員在數組中的下標 indexOf console.log(arr1.indexOf(44)); //3 console.log(arr1.indexOf(1111)); //-1 //join拼接 console.log(arr1.join("-")); //11-22-33-44 //tostring 對象變成字符串 var ret = arr1.toString(); console.log(ret); //11,22,33,44 console.log(typeof ret); //string //反轉排列 console.log(arr1.reverse()); //[44, 33, 22, 11] //數組的刪除元素 //splice(刪除開始的下標,刪除的成員個數) //返回值就是被刪除的元素組成的數組 console.log(arr1.splice(1,2)); //22 33 console.log(arr1); //11 44 //在數組的任意位置添加元素 //splice(要插入的下標位置,0,[插入的元素]) console.log(arr1.splice(1,0,"x","y")); //0表示不刪除元素!1表示插入的位置! console.log(arr1); //[11, "x", "y", 22, 33, 44] //棧操做 //數組的末尾添加元素 //push 表示給數組新增成員,返回結果是新的成員的數量! var ret=arr1.push("1","2"); console.log(arr1); //[11, 22, 33, 44, "1", "2"] console.log(ret); //6 //移除數組的最後一個成員 //pop,返回值是被移除的元素! var ret=arr1.pop(); console.log(ret); //[11,22,33] console.log(arr5); //44 //sort排序 var arr2 = [12,23,334,100]; console.log(arr2.sort()); //[100, 12, 23, 334] //排序函數 var arr2 = [12,23,334,100]; function IntSort(a,b){ return a-b; } console.log(arr2.sort(IntSort)); //[12, 23, 100, 334] //多維數組 //多維數組就是數組的嵌套。二維數組就是嵌套兩層,三維數組就是嵌套三層。 var arr5=[ ["a","b","c"], ["1","2","3"], ["x","y","z"], ]; //多維數組成員的獲取 var arr5=[ ["a","b","c"], ["1","2","3"], ["x","y","z"] ] console.log(arr5[1][2]); //3 // unshift shift //x.unshift(value,...) //x.shift() //使用註解 //x表明數組對象 //value能夠爲字符串、數字、數組等任何值 //unshift是將value值插入到數組x的開始 //shift是將數組x的第一個元素刪除 var arr1=[1,2,3]; arr1.unshift(4,5); console.log(arr1); //結果爲[4, 5, 1, 2, 3] arr1.unshift([6,7]); console.log(arr1); //結果爲[Array(2), 4, 5, 1, 2, 3] arr1.shift(); console.log(arr1);//結果爲[4, 5, 1, 2, 3] </script> </body> </html>
四.函數對象code
1.函數語法格式
function 函數名 (參數){ 函數體; return 返回值; }
注意:js的函數加載執行與python不一樣,它是總體加載完纔會執行,因此執行函數放在函數聲明上面或下面均可以:
2.函數調用
function func1(a,b){ alert(a+b); } func1(1,2); //3 func1(1,2,3);//3 func1(1); //NaN func1(); //NaN //只要函數名寫對便可,參數怎麼填都不報錯. //-------------------面試題----------- function a(a,b){ alert(a+b); } a(12,23); //35 var a=1; var b=2; a(a,b) //Uncaught TypeError: a is not a function
3.函數的內置對象arguments
function add(a, b) { console.log(a + b);//3 console.log(arguments.length);//2 console.log(arguments);//[1,2] } add(1, 2); //------------------arguments的用處1------------------ function nxAdd() { var result = 0; for (var num in arguments) { result += arguments[num]; } alert(result) //15 } nxAdd(1, 2, 3, 4, 5); //------------------arguments的用處2 ------------------ function f(a, b, c) { if (arguments.length != 3) { //Uncaught Error: function f called with 5 arguments,but it just need 3 arguments throw new Error("function f called with " + arguments.length + " arguments,but it just need 3 arguments") } else { alert("success!") } } f(1, 2, 3, 4, 5)
4.匿名函數
匿名函數,沒有函數名的函數,這種函數通常使用變量來存放。匿名函數的聲明方式相似普通函數,通常使用變量保存起來
語法格式 (function(){ //函數體 })();
// 匿名函數 或者自執行函數 var func = function(arg){ return "tony"; }; //匿名函數的應用 (function(){ alert("tony"); //彈出tony } )(); (function(arg){ console.log(arg); })('123') //123
注意匿名函數總體有個括號括住的!
還能夠在函數定義前加上「~」和「!」等符號來定義匿名函數
!function(){ alert('hello!'); }()
五.函數做用域
js的做用域和py類似,if while等控制語句並無本身做用域;而函數是有本身的做用域的;
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
46
47
48
49
50
51
|
/
/
函數做用域
if
(
1
=
=
1
){
var s
=
12
;
}
console.log(s);
/
/
12
function f(){
var temp
=
666
;
}
f();
/
/
console.log(temp);
/
/
Uncaught ReferenceError: temp
is
not
defined
/
/
嵌套函數做用域
var city
=
'beijing'
;
function func(){
var city
=
'shanghai'
;
function inner(){
var city
=
'shenzhen'
;
console.log(city);
}
inner();
}
func();
/
/
shengzhen
var city
=
'beijing'
;
function Bar(){
console.log(city);
}
function func(){
var city
=
'shanghai'
;
return
Bar;
}
var ret
=
func();
ret();
/
/
beijing
/
/
閉包
var city
=
'beijing'
;
function func(){
var city
=
"shanghai"
;
function inner(){
/
/
var city
=
"langfang"
;
console.log(city);
/
/
shanghai
}
return
inner;
}
var ret
=
func();
ret();
|