node.js学习笔记(2)_极客学院_基础语法

来源:互联网 发布:登陆淘宝账号 编辑:程序博客网 时间:2024/05/18 02:53

1.标识符:大小写敏感.

2. 严格模式(use strict)

变量的严格声明(var )禁止动态绑定:不得使用with,eval作用域不能删除变量不得重名:属性名/参数名禁止使用八进制表示数字保留字不得用做标识符

3.注释方式

//           /* */          /**  */

4.关键字与保留字

5.数据类型

1.变量:    >弱类型    >性质:保存值的占位符    >定义:使用var来定义变量,省略则被定义为全局变量(不推荐)        e.g: var strUN              var strUN = 'UN'             var strUN,numAge 2.数据类型的分类    简单数据类型:undefined/NULL/String/Number/Boolean    复杂数据类型:Object    不能创建自定义的数据类型    ->undefined类型:        值定义后没有初始化        使用undefined来初始化        函数没有返回值时则返回undefined    -->Boolean        Boolean()可以将变量转化为布尔值.其中:""/0/null/undefined/NaN会被转为false,其他为true    -->Number类型        整数和浮点数        三种进制        E表示法  1e5表示:100000  1e-2表示0.01        常量:MAX_VALUE/MIN_VALUE/Infinity/-Infinity/isFinite()        NaN/isNaN():"不是一个数字"  的意思            e.g:   isNaN('12')=>false(是一个数字)   isNaN('ss')==>true(不是一个数字)        Number()/parseInt()/parseFloat()==>将其他类型转化为数值    -->String类型:单引号或者双引号包围        单引号与双引号区别        .toString()/String()转化为字符串    -->Object类型        成员:值或函数方法        无序        初始化:            var obj = new Object;            var obj = new Object();            var obj = {};        typeof:是一个操作符,返回undefined/boolean/string/number/object/function

6.操作符

一元操作符:位操作符布尔操作符(! / && / ||)关系操作符===:表示全等

7.语句:

1.条件语句:

    if    if-else

2.循环语句:

    while(布尔表达式){        //循环代码块    }    for(var i=0;i<= numMax;i++){        //循环代码块    }    //增强for    for (var key in o){        console.log('key: ',key, '  value: ',o[key]);    }

3.选择语句:

    var a = 2;    switch (a) {        case  1 :            console.log('a = 1');            break;        case 2 :            console.log('a = 2');            break;        default :            console.log('default');    }

4.label/with:

    outter: for (var i = 0; i < 3; i++) {        inner: for (var j = 0; j < 4; j++) {            console.log('i=', i, '  j=', j);            if(i === 1){                break outter;            }        }    }           -->:outter/inner:就是label    -->:with,可以将一个很多级的对象引用简化,但是不推荐使用

8.函数:

1.函数的定义:

    // 编译时已经初始化    function sum(a,b){        return a + b;    }     // 编译时并没有初始化    var sum2 = new Funtion(a,b){        return a + b;    };

2.函数的参数:

参数不限定类型和参数的个数,通过arguments进行读取       匿名函数十分的普遍回调函数:将函数作为一个参数传给某个方法函数也有自己的属性和方法:    length:确定函数参数的个数

3.变量:

(1)基本类型的值    var a = 1;(2)引用类型的值->编译器在执行的时候会将所有的变量定义提到最前,然后在初始化语句的时候进行初始化->全局变量:定义在function外部,或者直接在方法体内部省略var关键字(不推荐)->const:定义一个常量

4.引用类型:

(1)Object类型    功能相对单一    传输数据,例如,作为参数    保存数据和方法,方便组织和管理    访问成员:obj.name  或者  obj['name']          (2)基本包装类型    Boolean:    Number:        toFix(n):保留n为小数,四舍五入的规则        toExponential():科学计数法表示一个数        toPrecision():自动选择数值的表达方式,可以指定保留的位置    String:        length:字符串长度        slice(1,3):字符串切割        substr()/subString:        indexOf()/lastIndexOf():返回某个字符的位置        trim():去前后空格        toLowerCase()/toUpperCase():        replace():字符串的替换,可以支持正则表达式和函数进行处理        fromCharCode()/charCodeAt()(3)global类型

global常用的方法和值
(4)Math类型
常用的常量:
这里写图片描述
常用的方法:
这里写图片描述

9.数组:

1.初始化:    (1).var arr = new Array();    (2).var arr2 = [1,'2',true]    ->:对一个不存在的索引进行赋值时就会自动创建该位置的值2.检查    (1).instanceof: arr instanceof Array    (2).Array.isArray(arr2)3.转换    (1).转化为数组:        Object.keys(obj),将对象的所有索引转为一个数组        split('-'),将一个字符串按照'-'分割转化为一个数组    (2).转化为字符串:        toString():        join('-'):将一个数组按照'-'连接成为一个字符串               4.排序    (1).sort():可以传递一个比较函数到该方法,如         
                var arr = [11,2,3,23,55,513];                function compareAB(a,b) {                    if(a>b){                        return 1;                    }else if (a == b){                        return 0;                    }else {                        return -1;                    }                }                function compareAB2(a,b) {                    return a < b;                }                arr.sort(compareAB2);                console.log(arr);
    (2).reverse():5.堆栈操作: pop/push6.队列操作:push/shift/unshift7.其他操作:    concat:返回一个新的拼接后的数组,并不会改变原来的数组    slice():分割数组,可以支持负数,取前不取后,不影响数组本身    splice():删除和插入操作,并返回被删除的数组,会影响到数组本身        删除:arr.splice(1,2):表示删除[1]后面的两个元素        插入:arr.splice(1,0,false,'str'):将false和'str'插入到[1]后面    indexOf()/lastIndexOf():返回某个元素所在的位置    every()/some()/forEach()/filter()/map():遍历
/***数组遍历的代码*/var arr = [11,2,3,23,55,513];var e = arr.every(function (m) {    return m > 10;})console.log('every:',e);var s = arr.some(function (m) {    return m > 10;})console.log('some:',s);//返回每个值大于10的新的数组var f = arr.filter(function (m) {    return m > 10;})console.log('filter:',f);//返回每个值+10的新的数组var m = arr.map(function (m) {    return m + 10;})console.log('map:',m);//遍历每个元素var fe = arr.forEach(function (m) {    console.log('fe' ,m);})// 遍历var r = arr.reduce(function (prev,cur,index,arr) {    return prev + cur;});console.log('reduce:',r);------------------console result:    every: false    some: true    filter: [ 11, 23, 55, 513 ]    map: [ 21, 12, 13, 33, 65, 523 ]    fe 11    fe 2    fe 3    fe 23    fe 55    fe 513    reduce: 607
0 0
原创粉丝点击