js小知识2

一、字符串常用方法

    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标签,预解析,执行代码-》读取下一个
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 第5章 引用类型(返回首页) 本章内容 使用对象 创建并操作数组 理解基本的JavaScript类型 使用基本类型...
    大学一百阅读 3,751评论 0 4
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 137,086评论 19 139
  • 有人说过,很多弯路到最后都成了直路,所有的坑到最后也都成了坦途;所谓的直路和坦途并不是摆在眼前的,都是不断的的...
    老衲法号一眉道人阅读 1,494评论 0 4
  • 一天,有个人跟我说过一句话:“人只有活着才能享受这人世间的好与坏喜怒与哀乐”。现在我也许是真的明白了,人活着就不可...
    请叫我温迪阅读 170评论 0 0
  • 国庆期间各地的旅游景点都出现了人挤人的景象。 最让我无语的就是被朋友圈刷爆的一张照片,上面显示出万里长城上挤满了人...
    咩一阅读 182评论 0 0

友情链接更多精彩内容