关于JS的随笔

Posted xiaoming9

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于JS的随笔相关的知识,希望对你有一定的参考价值。

闭包

  1. 为什么要用闭包:出于种种原因,我们可能用的到函数内的属性,但是因为函数内定义的属性为局部变量,并不能在函数外使用,这个时候我们可以使用闭包来拿到我们想要的属性
  2. 这样做的好处是什么?   因为我们不仅可以将函数内的变量变相地提升了定义域,而且还可以避免变量名冲突的问题,变量可以在内存中一直存在。
  3. 说了这么多,那么闭包是什么样的呢?
    function test(){
        var a = 0
        return function test01(){
             a++
             return console.log(a)
        }
    
    }
    
    //调用test
    var a =test()
    a()//1
    a()//2
    a()//3

     

 

JS的内置对象

  1. Arguments  只定义在函数内部,保存了函数的实参
  2. Array  数组对象
  3. Date   日期对象
  4. math        数学对象
  5. String       字符串对象

  String

  ? charAt(idx):返回指定位置处的字符

  ? indexOf(Chr):返回指定子字符串的位置,从左到右。找不到返回-1

  ? substr(m,n):返回给定字符串中从 m 位置开始,取 n 个字符,如果参数 n 省略, 则意味着取到字符串末尾。

  ? substring(m,n):返回给定字符串中从 m 位置开始,到 n 位置结束,如果参数 n 省 略,则意味着取到字符串末尾。

  ? toLowerCase():将字符串中的字符全部转化成小写。

  ? toUpperCase():将字符串中的字符全部转化成大写。

  ? length: 属性,不是方法,返回字符串的长度。

 

JS对象

  对象(object)是 javascript 的核心概念,也是最重要的数据类型。JavaScript 的所有数 据都可以被视为对象。JavaScript 提供多个内建对象,比如 String、Date、Array 等等。对象是 带有属性和方法的特殊数据类型。  简单说,所谓对象,就是一种无序的数据集合,由若干个“键值对”(key-value)构成。通 过 JavaScript 我们可以创建自己的对象。 JavaScript 对象满足的这种”键值对”的格式我们成为 JSON 格式,以后会见得非常多,即伟大的 JSON 对象

  1. 对象的创建  var a = {};  var a = {name:zs,age:12}         var a = new Object()   a.name="zs“  a.age=12  var a = Object.create(null);此处的null可以放入一个对象,新建的a继承放入对象的所有属性
  2. 对象的序列化和反序列化     1)JSON.Stringify(object)  将对象object进行序列化,转换成字符串             2)JSON.parse(jsonstr)  将jsonstr进行反序列化,字符串转变成为对象。
  3. eval()的用法  eval可以将字符串直接执行 如(eval("console.log(‘你好,控制台‘)执行这句话,可以直接在控制台上面打印字符串),也就可以将对象进行反序列化
    var jsonstr = "{name:‘zs‘,age:12}
    第一种解析的方法:eval("var a = " + jsonstr)
    第二种解析方法:var a = eval("("+jsonstr+")")     这里用()将字符串jsonstr扩起来是因为eval这个方法的自身原因,如果没有括号,这里的eval执行字符串并不会返回一个对象,因为它会认为这里的语句只是一个{}的普通语句,就没有对象返回,a的值就是undefined。
  4. this的使用     和Java中的this差不多,谁调用函数this返回这个对象,若window调用,则返回window对象,也就是script执行代码块的window
    对象中调用this,返回这个对象,也就是这个函数的上级。

 


以上是关于关于JS的随笔的主要内容,如果未能解决你的问题,请参考以下文章

几个关于js数组方法reduce的经典片段

关于JS的随笔

js随笔--关于数组

几个关于js数组方法reduce的经典片段

关于JS的随笔

js随笔--关于事件