码迷,mamicode.com
首页 > 编程语言 > 详细

Js 基本数据类型,var 变量,数组

时间:2014-11-12 00:30:03      阅读:344      评论:0      收藏:0      [点我收藏+]

标签:style   blog   http   io   color   ar   os   使用   java   

(一) Js 数据类型

  分为基本数据类型以及引用类型

  基本数据类型有 null,undefined,Boolen,Number,String,还有一种复杂数据类型 Object。

        var var1 = "xianrongbin", var2 = false, var3 = null, var4 = undefined, var5 = 123;
        console.log(typeof var4);

        var var6 = [1, 23, 5];
        console.log(typeof var6);

   这里,其实只需一个var的,为了区别基本数据类型与复杂数据类型,写了两个var 关键字。

       将所有的变量定义在一个var后面,有益提升程序运行效率

       如果在一个函数中,不标注 var,则该变量是全局变量,是window的变量,因为所有全局变量都是由window承担的。

     function testVar() {
            num = 1;
        }
        testVar();
        console.log(window.num);

   这里输出1,如果在 "num" 前加上var,输出则会报错。

        基本数据类型与值类型,一个是传值,一个是改变地址。   

bubuko.com,布布扣
  var var6 = [1, 23, 5];   
        function changeValue(obj) {
            obj.pop();
        };
        
        changeValue(var6);
        console.log(var6);

        var num = 1;
        function changeNum(num) {
            num = num + 1;
        };
        console.log(num);
代码

   输出的值是 [1,23]  1。 这点很重要。 这里于C#有很大的不同。

(二) 数组操作

       数组类型是Object。

      若要     往数组尾添加一个或多个元素,可用push(),

                删除最后一个元素,可用pop(),

             删除数组头一个元素,可用shif(),

      向数组头添加一个或多个元素,可使用unshift,

      需要知道某个元素在数组中的位置,可用indeOf(元素名称),不存在返回-1,

      知道元素的位置后,需删除某个元素,则使用splice(index,1),

                如果需要删除某个元素,替换成1个或多个元素,则使用splice(index,1,a,b...),

                如果需要在某个元素后插入1个或多个元素,则使用splice(index,0,a,b...),也只是将上面的1变成0罢。

      这里需要注意的是contact方法。

  上述方法都会改变原数组属性,即改变指针;contact不会改变原有的数组,只是返回原数组的一个副本

  看看下面操作后testArray的结果

bubuko.com,布布扣
        var testArry = [1, 2, 3, 4, 5, 6];
        testArry.push(7);
      
        testArry.pop();

        testArry.shift();

        testArry.unshift(‘unshift1‘, ‘unshift2‘);

        concatArry= testArry.concat(‘concat1‘);

        var index = testArry.indexOf(‘concat1‘);
        testArry.splice(index, 1);

        testArry.splice(0, 1, ‘replace1‘,‘replace2‘);
Array操作基本函数

  结果是:   ["replace1", "replace2", "unshift2", 2, 3, 4, 5]

    

(三)五个迭代函数

  这五个迭代函数是.every .some .filter .forEach  .map他们都有三个参数(item,key,value),key是从0开始计数,后两个参数可选用。

  . every()   对数组中的每一项运行给定的函数,如果该函数对每一项都返回true,则返回true   

  . some()    对数组中的每一项运行给定的函数,如果该函数对任意一项返回true,则返回true  

  . filter()  对数组中的每一项运行给定的函数,返回该函数返回true的项组成的数组。  

  . forEach() 对数组中的每一项运行给定的函数,这个方法没有返回值  

  . map()     对数组中的每一项运行给定的函数,返回每次函数调用的结果组成的数组

     用法如下

var testArry = [1, 2, 3, 4, 5, 6];
        var isAllBig2 = testArry.every(function (item) {
           return item > 2;
        });
        console.log(isAllBig2);

        var isSomeBig2 = testArry.some(function (item) {
            return item > 2;
        });
        console.log(isSomeBig2);

        var filterArray = testArry.filter(function (item) {
           return item > 2;
        });
        console.log(filterArray);
       
        var mapArray = testArry.map(function (item) {
           return item + 2;
        });
        console.log(mapArray);

        var forEachResult = testArry.forEach(function (item) {
            if (item >5) {
                console.log(item);
            }
        });

  其中,.forEach是无返回值,而其他几个是有返回值的,这点需要注意。

  上述输出结果分别是 

    false
    true
    [3, 4, 5, 6]
    [3, 4, 5, 6, 7, 8]
    6
 

 

    
  
 
 

Js 基本数据类型,var 变量,数组

标签:style   blog   http   io   color   ar   os   使用   java   

原文地址:http://www.cnblogs.com/xianrongbin/p/4068935.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!