zoukankan      html  css  js  c++  java
  • JS_常用对象总结

    javaScript两大基本数据类型

        1:基本数据类型

            number string boolean null undefined

        2:应用数据类型

            数组、objectMathDate正则表达式、window、dom

        con:

            动态添加属性

                基本数据类型不能添加动态属性

                引用数据类型可以动态添加属性

            传参:

                假如传入的实参时基本类型,实际上传的值的拷贝

                假如传入的实参时引用类型,实际上传的值的地址

    作用域:有效范围

        全局作用域 & 全局变量

            函数之外都是全局的,包括代码块内部声明

        局部作用域 & 局部变量

            函数内部定义的变量

        ES6:块级作用域

        con:

            建议变量使用局部变量

            隐式的全局变量:y = 2; //不用var 声明

    字符串

    字符串API整理:

    var str = 'hello';

    concat():

        var res = str.concat('wold','!!!');

    substr():

        var url = "http://www.baidu.com?username=admin&psw=123456";

        var idx = url.indexOf('?');

        var res1 = url.substr(idx+1); //从idx+1处开始

        var res1 = url.suubstr(idx+1 , length)

        //开始序号-结束序号,且不包含末尾序号位置

        var res1 = url.slice(start,end);

        //substring:开始序号-结束序号,且不包含末尾序号位置,并且支持:start>end,表示截取范围

        var res1 = url.substring(start,end);

        //区别

        slicesubstringsubstr(start):默认都是从start到末尾

        slice(负数):表示从末尾开始取值

    replace():网站内容和谐

        //replace()只替换一个

        var res = str.replace(source,target);   

        //[1]

        var index=0;

        index = str.indexOf(source);

        while(index!==-1){

        }

        //[2]

        while(res =str.replace(source,target) !== null){

            console.log(res);

            str = res;

        }

        //replaceAll()

    split():字符串分割

    字符串无reverse();数组有!

    String.fromCharCode()  --相反--  str.charCodeAt()

    //

    String.prototype.myReplace = function(f, e) {

    var reg = new RegExp(f, "g");

    return this.replace(reg, e);

            }

    var newStr = str.myReplace('tmd', '');

    console.log(newStr);


    Math:与其他全局对象不同的是,Math 不是一个构造器。Math 的所有属性与方法都是静态的。

    属性:PI 、 E、sqrt1_2

        方法:  abs()

                ceil()

                floor()

                round()

                random():[0,1):返回一个 0 到 1 之间的伪随机数。

    Date

        var now = new Date();

        now.getFullYear()

        now.getMonth()---特殊从0开始

        now.getDate()

        now.getDay()---星期几,并且从星期日开始

        now.getHour()

        now.getMinute()

        now.getSeconds()

        now.getMilliseconds()

        ---1970.1.1 --->指定时间

        now.getTime()---总毫秒数 === now.valueOf()

        //h5新增 Date.now() ----兼容性额外难题


    函数

    函数:具有一定功能的代码块

        -复用

        -内置函数&自定义

        --建议形参小于5个

        ---ES6支持给默认值

        ---不支持返回多个基本类型

        --函数无返回值,返回值为 undefined

        ---arguments不是数组,但有:arguments.length()

        -funtion定义的函数,可以先定义后调用,也可以先调用后定义

        -匿名函数——没有名字的函数,函数表达式必须先定义后调用

    JS代码执行过程:

        1 预解析

        2 执行

    数组

    数组常用API:

        push() unshift()

        pop() shift()

        splice()

        slice()

        indexOf()   lastIndexOf()

        forEach() 高阶函数——函数的参数是一个函数或者返回值是一个函数

            arr.forEach(function(item,index,array){

                //item: 数组每个元素

                //index:数组元素索引

            });

        //明白一点:函数也是对象!——所以不要被不熟悉所吓倒,即一切反动派都是纸老虎!

        some    every   map     filter  reduce  sort

        concat  join    reverse    

    总结案例:

        1:数组去重

            (思路1:判断原数组内是否重复)indexOf() === lastIndexOf()

            (思路2:判断新数组内是否重复)

        2: 数组自动添加(弱类型)

            var newArr  = new Array();

            newArr[newArr.length] = 1;

    //添加不限制个数

    // arr.push()

    // arr.unshift()

    // arr.pop()

    // arr.shift()

    // 1.从角标pos位置处删除mount个元素

    // arr.splice(pos,mount)

    // 2.从角标pos处插入元素ele1

    // ex: arr.splice(pos,0,ele1);

    // 替换 角标pso位置处的n个元素

    // ex: arr.splice(pos,mout_n,ele1,ele2,...,elen)

    //arr.slice(start,end)

    //arr.join()  //把数组的元素用指定的符号拼接为一个大的字符串

    // 不传参默认以逗号连接

    // arr.join("-");

    //concat()

    //reverse()  //逆序

    高阶应用:

        Arguments 不是数组类型,而是对象。【所有的实参都在这个对象上】

        arguments.length(形参)   &&&  函数.length(实参)

        arguments.callee : 获取对应函数

        -函数无返回值,获取变量为 undefined

    预解析:

        function定义的函数,可以先定义后调用,也可以先调用后定义

        匿名函数

        将函数或者变量的声明提升,赋值并不提升

    ==============

    数组自增:弱类型

        arr[arr.length] = temp;

    高阶函数:函数的参数是一个函数或者返回值是一个函数

        //遍历

        arr.forEach(function(item,index,arr){

            //实现本质:对数组遍历调用函数

        });

        //筛选:判断是否有满足条件的元素

        //找到第一个满足条件,则终止循环,返回true;找不到,则返回false

        //返回值为布尔值

        var bool = arr.some(function(item,index,arr){

            return item>60;

        });

        //filter

        //把满足条件的筛选出来,放到新的数组中

        //返回值为数组

        var newArr = arr.filter(function(item,index,array){

            return item%2===0;

        });

        //every

        //判断数组元素是否都满足条件

        //数组所有元素都满足条件,返回true;假如碰到第一个不满足的,终止循环,返回false

        var flag = arr.every(function(item,index,arr){

            return item>60;

        });

        //map

        //对元素进行遍历(迭代处理)

        //返回:根据原数组产生长度一样的新数组----新数组的每一个元素由原数组对应的元素带入函数参数后的返回值

        var newArr3 = arr.map(function(item,index,arr){

            return item+1;

        });

        //reduce

        //function的参数1:

            //参数1:表示累计值默认回去数组的第一个值,下次循环会取到上一次的值

            //参数2:表示当前的值,第一次会取数组第二个值

            //参数3:表示当前值对应的索引

            //参数4:表示原数组

        //参数2: 设定start初始值

        //返回值:最后一个元素带入函数之后的返回值

        var sum = arr.reduce(function(start,item,index,arr){

            return start+item;

        });

        var sum = arr.reduce(function(start,item,index,arr){

            return start+item;

        },0);

        var sum = arr.reduce(function(start,item,index,arr){

            return start+item;

        },3);

        //拼接数组,返回新数组

        var res = arr.concat(arr1,arr2,arr3...)

        //返回字符串,将元素以 : 连接

        var str = arr.join(':')

        //本质:更改数组结构,返回相应的地址

        //逆序,并且改变原数组结构

        var newArr = arr.reverse()

        //排序,返回值与原数组均改变结构

        //sort:默认是按字符串比较,并且空的默认更小

        //     

        var res = arr.sort()

        var res = arr.sort(function(a,b){

            return a-b; //升序

            return b-a; //降序

        });


    alert("hello");  //弹出警告框

    prompt("input");  //弹出输入框

  • 相关阅读:
    (一)IOC 容器:【2】@ComponentScan 自动扫描组件&指定扫描规则
    (一)IOC 容器:【11】Aware 注入Spring底层组件
    (一)IOC 容器:【10】@Autowired 自动装配
    (一)IOC 容器:【3】@Scope 设置组件作用域
    (一)IOC 容器:【8】Bean组件的生命周期
    每日日报7月13日
    每日日报7月12日
    每日日报7月11日
    Prism中的WeakEventHandlerManager
    博客开通标记
  • 原文地址:https://www.cnblogs.com/macro-renzhansheng/p/13024170.html
Copyright © 2011-2022 走看看