js小知识2

2017-10-22  本文已影响0人  晓箬

一、字符串常用方法

    str.charAt()        在字符串中查找某一位置的字符
    str.indexOf()       在字符串中查找字符首次出现的位置
        如果找不到,返回-1
    str.lastIndexOf()   在字符串中查找字符最后出现的位置
        如果找不到,返回-1
    str.substring()     截取字符串
        str.substring(start,end)    不包括end
        简写
        str.substring(start)        从start截取到最后
    str.split()         拆分字符串-》数组
    str.toUpperCase()   字符串小写字母-》大写字母
    str.toLowerCase()   字符串大写字母-》小写字母

        检测浏览器版本信息
            window.navigator.userAgent

二、数组常用方法

    arr.push();             在数组后面添加
    arr.pop();              在数组后面删除
    arr.unshift();          在数组前面添加
    arr.shift();            在数组前面删除
        删除会把删掉的东西返回。

    arr.splice();           删除,添加,替换
        arr.splice(start,length);       删除
        arr.splice(start,0,item1,item2,item3....)   添加
        arr.splice(start,length,item1,item2...)     替换

    arr.join();             合并数组-》字符串
    arr.reverse();          反转
    arr.concat();           拼接数组
    arr.sort();             数组排序
        深入sort
        arr.sort(function(iNum1,iNum2){
            return iNum1-iNum2;         从小到大
            return iNum2-iNum1;         从大到小
        });

三、Math常用方法

    Math.random();          获取0-1的随机小数,不包括1
    Math.floor();           向下取整
    Math.ceil();            向上取整
    Math.round();           四舍五入

    Math.sqrt();            开方
    Math.pow();             幂       n次方
    Math.abs();             绝对值
    Math.max();             取最大值
    Math.min();             取最小值

四、JSON

    var arr = ['apple','lucy','banana','eric'];
    var json = {'name':'eric','age':18,'gender':'男'};
        key:value           键值对

数组和json的区别
            数组                  json
结构      ['as','bb']             {key:value,key:value}   键值对
访问内容    下标                  key
length      有                       无
循环      for                     for...in

for...in
    for(var key in json){
        key             键
        json[key]       值
    }

    可以操作json也可以操作数组。
    平时只用来操作json。

for...in    性能比for循环差。

五、i的问题,执行时机

循环中加事件,事件中使用i
    循环中加定时器,定时器中使用i

    解决:
        1.自定义属性
        2.封闭空间

function(){}()      报错,官方不允许
    解决:
        (function(index){

        })(i);

封闭空间
    (function(){

    })();
    作用:
        1.解决i的问题
        2.解决变量名冲突问题

六、作用域


    起作用的范围
    全局
        外面没有任何函数包裹
        在任何地方都可以使用
    局部
        只能在声明他的函数内使用
    闭包
        子函数可以使用父函数的局部变量

七、表达式,预解析

js语言特性:
    不加var声明变量,是全局的
    window的就是全局的
    等号表达式
        var a = b = c = 12;
        除了a是局部的,剩下的都是全局的
    逗号表达式
        听逗号后面的
        a = (12,5);
        alert((12,5));

        var name = 'eric',
            age = 18,
            gender = '男';

    预解析
        在js执行之前,会把所有声明提到顶部
        不会突破作用域
        读取一个script标签,预解析,执行代码-》读取下一个script标签,预解析,执行代码-》读取下一个
上一篇 下一篇

猜你喜欢

热点阅读