JavaScript总结

1.JavaScript
    1.基础语法
        1.注释
        2.语句必须以分号结束
        3.变量声明的关键字:var 变量名 = '值';
            js属于动态类型(同一变量名可以保存不同数据类型的值)
    2.数据类型
        数值(Number)
            JavaScript不区分整型和浮点型,就只有一种数字类型
            

   var a = 12.34;
   var b = 20;
   var c = 123e5;  // 12300000
   var d = 123e-5;  // 0.00123

 


            还有一种NaN,表示不是一个数字(Not a Number)

 parseInt("123")  // 返回123
 parseInt("ABC")  // 返回NaN,NaN属性是代表非数字值的特殊值。该属性用于指示某个值不是数字。
 parseFloat("123.456")  // 返回123.456

 


        字符串(String)
          

 var a = "Hello"
 var b = "world;
 var c = a + b;
 console.log(c);  // 得到Helloworld

 


            常用方法:
                .length                                 返回长度
                .trim()                                   移除空白
                .trimLeft()                             移除左边的空白
                .trimRight()                           移除右边的空白
                .charAt(n)                            返回第n个字符
                .concat(value, ...)                拼接
                .indexOf(substring, start)    子序列位置
                .substring(from, to)              根据索引获取子序列
                .slice(start, end)                  切片
                .toLowerCase()                   小写
                .toUpperCase()                   大写
                .split(delimiter, limit)            分割
        布尔值(Boolean):
            var a = true;
            var b = false;
            ""(空字符串)、0、null、undefined、NaN都是false。


            null表示值是空,一般在需要指定或清空一个变量时才会使用,如 name=null;
            undefined表示当声明一个变量但未初始化时,该变量的默认值是undefined。还有就是函数无明确的返回值时,返回的也是undefined。
        数组
            .length                    数组的大小
            .push(ele)               尾部追加元素
            .pop()                     获取尾部的元素
            .unshift(ele)           头部插入元素
            .shift()                    头部移除元素
            .slice(start, end)    切片
            .reverse()              反转
            .join(seq)               将数组元素连接成字符串
            .concat(val, ...)       连接数组
            .sort()                     排序
            .forEach()              将数组的每个元素传递给回调函数
            .splice()                 删除元素,并向数组添加新元素。
            .map()                   返回一个数组元素调用函数处理后的值的新数组



        typeof "abc"  // "string"
        typeof null  // "object"
        typeof true  // "boolean"
        typeof 123 // "number"
        typeof是一个一元运算符(就像++,--,!,- 等一元运算符),不是一个函数,也不是一个语句。

        对变量或值调用 typeof 运算符将返回下列值之一:

        undefined - 如果变量是 Undefined 类型的
        boolean - 如果变量是 Boolean 类型的
        number - 如果变量是 Number 类型的
        string - 如果变量是 String 类型的
        object - 如果变量是一种引用类型或 Null 类型的



    3.函数
        调用函数的时候要往回找函数定义的阶段
    4.面向对象
        

JavaScript分为 ECMAScript,DOM,BOM。




BOM(Browser Object Model)是指浏览器对象模型,它使 JavaScript 有能力与浏览器进行“对话”。

DOM (Document Object Model)是指文档对象模型,通过它,可以访问HTML文档的所有元素。









变量
    声明: var name;
    初始化  name = "alex"
    变量名的命名规则
        变量名由字母,数字,下划线以及$组成。
        不要使用下划线或者数字作为变量名的开头。
        变量名应该具有一定意义,使用驼峰是命名规则。
        不要使用关键字或是保留字。
数据类型
    五种基本数据类型
        undefined 该类型只有一个值undefined。对未声明和未初始化的变量执行typeof操作符都返回undefined
        Null   空引用数据类型 "null"   var a = null;
        Boolean 布尔类型,取值为 true/false,通常用于条件判断
        Number   数字类型。整数/浮点数
        String   字符串类型,需要使用单引号或者双引号括起来
引用数据类型
    对象(Object)
    函数(function)
    数组(arr)
类型转换
    Boolean()函数
    toString()函数
    Number()函数 parseInt()

流程控制语句
    if(condition){

    }else if(condition2){

    }else{

    }

    for(;;){

    }

    while(){

    }
    do{

    }while()


继承
    构造函数中有一个prototype指针,指向原型模型(对象),对象有共同的方法和属性里面还有constructor指向构造函数
    对象的实例中__proto__指向原型模型.
    继承构造函数原型指向一个实例,就是获得了构造函数所有属性和方法里面的constructor还有__proto__.



属性类型
    Object.defineProperty()

    var book = {  _year :2004,edition:1}
        Object.defineProperty(book,"year",{
              get:function(){
            return this._year;
              },
              set:function(year){
            this._year = _year;
              }
    });
document.getElementById()
document.getElementByTagName()
document.getElementByName()
document.getElementByClassName()

posted @ 2018-10-19 11:22  crcr7  阅读(169)  评论(1)    收藏  举报