JS 字符串對象 數組對象 函數對象 函數做用域

一.內置對象javascript

object對象ECMAScript 中的全部對象都由這個對象繼承而來;Object 對象中的全部屬性和方法都會出如今其餘對象中html

ToString() :  返回對象的原始字符串表示。
ValueOf() : 返回最適合該對象的原始值。對於許多對象,該方法返回的值都與 ToString() 的返回值相同

11種內置對象

包括:

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();

原文:http://www.javashuo.com/article/p-gacwzkxf-y.html

相關文章
相關標籤/搜索