javascript的整理

1.什么是javascript
    javascript是一门编程语言,允许用户在浏览器页面完成复杂得事情。
    
2.javascript产生目的
    为了处理表单中用户填写一些无效信息而给后台服务器产生的压力
3.javascript组成
    核心ECMAScript dom bom
4.前端三要素三剑客
    html --木偶得各个部位 轮廓素颜
    css--木偶的衣服 化妆
    js -- 控制木偶动起来  
5.javascript特点
    1.客户端代码,在客户机上执行
        也可以在服务器端执行,需要搭建node环境
    2.解释型语言
        浏览器和或者nodejs平台内置js解析器
    3.弱类型语言
        可以重复声明并初始化任何类型语言
    4.从上到下依次解析执行
6.js执行方式
    nodejs平台 浏览器中
        1.node xxx.js   
        2.在vscode中引入script标签,可以插入到任意位置
        3.外部引入脚本文件
7.注释
    单行//
    多行/**/
    
8.变量声明初始化
    声明 var a;
    初始化 a=10;赋值
    声明并初始化 var a=10;
    声明多个变量
        var a,b,c;
    声明多个变量并初始化
    var a=10,b=20,c=30;
9.标识符--变量名,函数名---命名规则
    1.由字母数字下划线以及$组成
    2.不能以数字和下划线开头
    3.有一定的意义,小驼峰式命名
    4.不能使用关键字和保留字
    
10.五种基本数据类型
    1.undefined
    未定义类型
        var a;只声明不初始化;
        var a=undefined;
    2.null类型
        手动初始化成null
        var a=null;
    3.Boolean 布尔类型
        var a=true; var b=false;
    4.number类型
        整数 小数 浮点数 十六进制 八进制 科学计数法
    5.string类型
        字符串类型 单双引号引起来的
11.检测数据类型 typeof
    typeof 1 //number
    typeof true //boolean
    typeof undefined //undefined
    typeof "hello" //string
    typeof null //object
    typeof object //object
        object
            function
    typeof function (){}
        function
12.数据类型
    5种基本数据类型
        null undefined number Boolean string
    1种引用数据类型
        object  
            function array
13.isNaN
    isNaN 检测是否是数值
    var a=9/"a";//NaN
    console.log(isNaN(a));true
    true NaN false 不是NaN
14.inFinite
    不在数值之内的数infinity或者-infinity表示
    检测参数是否在最大值和最小值之间,在的话返回true
    var a=9/0;
    console.log(isFinite(a));false
    console.log(isFinite(100));true
15.字符串长度 length
    var a="hello";
    console.log(a.length);//5 下标从0开始
    console.log(a.charAt(2))
16.变量提升 声明变量
    var 变量声明提升 使用var声明得变量会提升到作用域前边
        console.log(a); //undefined
        var a=1;
        console.log(a); //1
    1.特点
        1.变量提升
        2.可以重复声明
    es6
        let
            1.不能变量提升
            2.不可以重复声明
        const 用来声明常量 常量的值不可修改,常量必须在声明得时候初始化
            1.const PI=3.1415926
                const PI; PI=3.14
            1.用来声明常量 常量的值不可修改,常量必须在声明得时候初始化
            2.不可重复声明

一个循环语句应该具备三要素:计数器,循环结束条件,迭代器。
17创建Object实例:
             使用构造函数创建,new Object()
             var person = new Object();
             person.name = "briup";
             person.age = 22;
             ü使用对象字面量表示法不同的属性之间用','分割,属性名和属性值之间用':'分割
             var person = { name : "briup", age : 22};
18访问对象属性
           点表示法,右侧必须是以属性名称命名的简单标识符
           person.name

           中括号表示法
           person["name"]

           删除属性
           delete stu.name //删除学生对象中的name属性

           检测属性
           hasOwnProperty()  检测给定的属性是否是对象的自有属性,对于继承属性将返回false
           var o = {x:1}o.hasOwnProperty("x");//true,x 为o的自有属性
           o.hasOwnProperty("y");//false,o 中不存在属性y
           o.hasOwnProperty("toString");//false,toString为继承属性

           Object属性及方法
           Object 类型所具有的任何属性和方法也同样存在于其他对象中,任何对象继承于Object对象。
           Object中常用的方法:
           constructor://保存用户创建当前对象的函数
           toString();//返回对象的字符串表示
           valueOf();//返回对象的字符串,数值,布尔值的表示。
           propertyIsEnumerable(propertyName);//检查给定的属性在当前对象实例中是否存在
           isPrototypeOf(object);//检查传入的对象是否是原型

    19函数介绍
                 不需要自己封装,直接调用即可 for example:
                 var myArray = ['I', 'love', 'chocolate', 'frogs'];
                 var madeAString = myArray.join(' ');
                 var myNumber = Math.random()

    20自定义函数
                 函数声明
                    function  函数名(形参列表){
                        函数体;
                    }
                 函数表达式
                     var 函数名=function(形参列表){
                         函数体;
                     }
                 调用方法:
                     函数名(实参列表);
                     函数名.call(执行环境对象,实参列表);
                     函数名.apply(执行环境对象,实参列表数组);

            函数的内部属性
                 只有在函数内部才能访问的属性。

                 arguments :
                   this:指向的是函数赖以执行的环境对象

            函数属性和方法
                 函数本质上也是一种对象,拥有属性和方法。

                length:表示函数希望接受的命名参数的个数,即形参的个数。
                apply():可以调用当前函数,并可以指定其执行环境对象
                call():可以调用当前函数,并可以指定其执行环境对象

21数组
    初始化
        使用Array构造函数
        var arr = new Array();
        var arr = new Array(20); // 预先指定数组的大小
        var arr = new Array("terry","larry","boss"); //传入参数
        
        使用数组字面量
        由一对包含数组项的方括号表示,多个数组项之间用逗号分隔
        var arr = ["terry","larry","boss"];
        var arr = []//空数组

    访问数组元素
         数组变量名[索引]

         如果索引小于数组的长度,返回对应项的值
         var arr = ["terry","larry","boss"];
         arr[0] ;//访问数组中第一个元素,返回值为terry
         
         如果索引大于数组的长度,数组自动增加到该索引值加1的长度
         var arr = ["terry","larry","boss"];
         arr[3] ="jacky";//添加元素,数组程度变为4
         注意!数组最多可以包含4 294 967 295个项

    数组检测
         var arr = [];
         typeOf(arr);//结果为object
         arr instanceof Array//结果为true,在同一个全局作用域下可以这么判断
         Array.isArray(arr);//结果为true,判断arr是否是数组类型

    数组序列化
          toString()在默认情况下都会以逗号分隔字符串的形式返回数组项
          join();使用指定的字符串用来分隔数组字符串

          例如 instance
          var arr = ["terry","larry","boss"];
          arr.toString()//terry,larry,boss
          arr.join("||");//terry||larry||boss

          
    数组添加      
          push() 可接受任意类型的参数,将它们逐个添加到数组的末尾,并返回数组的长度
          pop() 从数组的末尾移除最后一项,减少数组的length值,返回移除的项

          shift() 移除数组中的第一个项并且返回该项,同时将数组的长度减一。
          unshift() 在数组的前端添加任意个项,并返回新数组的长度。
    
    排序
        sort()
          默认排序:
              该方法会调用每个数组项的toString() 方法,然后按照字符序列排序
          自定义排序:
            a.该方法可以接受一个比较函数作为参数,比较函数有两个参数
            b.如果第一个参数位于第二个参数之前,返回负数
            c.如果第一个参数位于第二个参数之后,返回正数

                
    截取方法
        concat() 合并(连接)数组
                   方法不会更改现有数组。它总是返回一个新数组。
                   该方法可以使用任意数量的数组参数
                   方法也可以将值作为参数
        slice()  裁剪数组
                    方法用数组的某个片段切出新数组。
                    方法创建新数组。它不会从源数组中删除任何元素。
                    可接受两个参数,比如 (1, 3)
        splice() 方法可用于向数组添加新项
                    删除:指定两个参数(删除的起始位置,要删除的项数)
                    插入:指定三个参数(起始位置,0,要插入的项任意数量的项)
                    替换:指定三个参数(起始位置,要删除的项,要插入的任意数量的项)
                    注意替换:向数组的中部插入数据将始终返回一个数组,该数组中包含从原始数组中删除的项。

    索引方法
        indexOf()
                  从数组开头向后查找,使用全等操作符,找不到该元素返回-1。
                  第一个参数为要查找的项,第二个参数(可选)为索引开始位置。
         lastIndexOf()
                  从数组末尾向前查找,使用全等操作符,找不到该元素返回-1。
                  第一个参数为要查找的项,第二个参数(可选)为索引开始位置。

     迭代方法
        every()   方法检查所有数组值是否通过测试。
                  对数组中的每一运行给定的函数,如果该函数对每一项都返回true,则该函数返回true
        some()
                  对数组中的每一运行给定的函数,如果该函数对任一项都返回true,则返回true
        filter() 过滤器
                  对数组中的每一运行给定的函数,会返回满足该函数的项组成的数组
        map()    
                  方法通过对每个数组元素执行函数来创建新数组。
                  方法不会对没有值的数组元素执行函数。
                  方法不会更改原始数组。
        forEach()   important
                  对数组中的每一运行给定的函数,没有返回值,常用来遍历元素
                  方法为每个数组元素调用一次函数(回调函数)
                  功能:ES5新增方法,用来遍历数组,该方法没有返回值。forEach接收的回调函数会根据数组的每一项执行,该回调函数默认有三个参数,分别为:遍历到的数组的数据,对应的索引,数组自身。
                  参数:分别为value,index,self。

                var a = arr.forEach(function(value,index,self){
                       console.log(value + "--" + index + "--" + (arr === self));
                     })


22正则表达式
          构造函数
            var pattern =new RegExp("正则表达式","修饰符");
            var pattern =new RegExp("abc","ig");
          正则表达式字面量
            var pattern = /正则表达式/修饰符;
            var pattern = /abc/ig;
正则表达式
  作用:
    1. 主要用于表单校验,校验用户输入内容的格式是否符合我们的预期
    2. 从比较长的一段字符串中,提取想要的字符内容
    3. 替换文本内容
  正则表达式对象的创建:
    1. 构造函数
      修饰符只能是g i m,可以省略
      var pattern = new RegExp("正则表达式内容","修饰符");
      var pattern = new RegExp("abc","ig");
    2. 字面量
      var pattern = /正则表达式/修饰符;
      var pattern = /adc/img;
  修饰符:
    i ignore case 忽略大小写
      abc aBcAbcabc
    m multiline
      多行匹配(\n)
      如果目标字符串中没有\n的话 m修饰符毫无意义
    g global 全词匹配
      如果加了这个修饰符的话 在匹配时会维护一个 lastIndex 的属性,
      用来记录当前匹配到这个字符串时的结束的位置,下一次匹配会从lastIndex开始。
      如果没有g修饰符lastIndex一直为0
      /abc/g aBcAbcabc   
       true lastIndex
  原型方法
    exec(参数)
      参数:字符串
      返回值:类数组对象
        [数组,index,input...]
      从参数中获取目标字符串
      var pattern = /abc/g;
      var str = "abc";
      var result = pattern.exec(str);
      console.log(result);
      /abc/ :  只匹配abc或者他的其他大小写状态
      /abc(d|e) :   匹配abcd或者abce
    test()
      用来检测一个字符串是否匹配某个模式
      参数    :str
      返回值  :boolean类型 true、false

    toString()
      参数:无
      返回值:string
      var pattern = new RegExp("abc", "i");
      console.log(pattern.toString());

  正则表达式的规则

    字符类
      .   用来匹配任意单个字符 行结束符除外
      \d  匹配任意的一个阿拉伯数字 等价于 [0-9]
      \D  匹配任意的一个不是阿拉伯数字的字符 等价于 [^0-9]
      \w  匹配任意字母、数字、包括下划线 等价于 [A-Za-z0-9_]
      \W  匹配任意不是字母、数字、不是下划线 等价于 [^A-Za-z0-9_]
      \s  匹配空白符 空格 制表符 换行符 换页符和其他Unicode(\u00A0等)
      \S  匹配一个非空白符
      \t  匹配一个水平制表符(tab)
      \n  匹配一个换行符(linefeed)
      \r  匹配一个回车符(carriage return)
      \v  匹配一个垂直制表符(vertical tab)
      \f  匹配一个换页符(form-feed)
    字符集合
      [0-9]
      [A-Z]
      [^A-Z]
      [012]
    分组
      (|)

  原型属性
    global
    ignoreCase
    multiline
    lastIndex
    source
    flags

  String对正则表达式的支持
    match()
      调用者:string
      参数: 正则表达式
      返回值:数组(匹配成功结果组成的数组,要注意正则表达式的全局修饰符)
    search()
      调用者:string
      参数: 正则表达式,如果参数不是正则表达式,会先使用RegExp将其转为构造函数
      不支持全局检索(g)
      返回值:
        如果匹配成功,返回第一个成功的位置
        如果匹配不成功 -1
    replace()
      调用者:string
      参数: 正则表达式,要替换的字符串
      返回值:替换过后的string 不改变原来的string

    node插件
        nodemon
        安装:npm i nodemon -g
        作用:可以检测js文件的变化,然后自动运行js文件
  在 JavaScript 中,正则表达式常用于两个字符串方法:search() 和 replace()。

后面会继续更新的!!!

            


             


        

    


   

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值