关于JS的随笔
Posted xiaoming9
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于JS的随笔相关的知识,希望对你有一定的参考价值。
闭包
- 为什么要用闭包:出于种种原因,我们可能用的到函数内的属性,但是因为函数内定义的属性为局部变量,并不能在函数外使用,这个时候我们可以使用闭包来拿到我们想要的属性
- 这样做的好处是什么? 因为我们不仅可以将函数内的变量变相地提升了定义域,而且还可以避免变量名冲突的问题,变量可以在内存中一直存在。
- 说了这么多,那么闭包是什么样的呢?
function test(){ var a = 0 return function test01(){ a++ return console.log(a) } } //调用test var a =test() a()//1 a()//2 a()//3
JS的内置对象
- Arguments 只定义在函数内部,保存了函数的实参
- Array 数组对象
- Date 日期对象
- math 数学对象
- 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 对象
- 对象的创建 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继承放入对象的所有属性
- 对象的序列化和反序列化 1)JSON.Stringify(object) 将对象object进行序列化,转换成字符串 2)JSON.parse(jsonstr) 将jsonstr进行反序列化,字符串转变成为对象。
- eval()的用法 eval可以将字符串直接执行 如(eval("console.log(‘你好,控制台‘)执行这句话,可以直接在控制台上面打印字符串),也就可以将对象进行反序列化
var jsonstr = "{name:‘zs‘,age:12}
第一种解析的方法:eval("var a = " + jsonstr)
第二种解析方法:var a = eval("("+jsonstr+")") 这里用()将字符串jsonstr扩起来是因为eval这个方法的自身原因,如果没有括号,这里的eval执行字符串并不会返回一个对象,因为它会认为这里的语句只是一个{}的普通语句,就没有对象返回,a的值就是undefined。 - this的使用 和Java中的this差不多,谁调用函数this返回这个对象,若window调用,则返回window对象,也就是script执行代码块的window
对象中调用this,返回这个对象,也就是这个函数的上级。
以上是关于关于JS的随笔的主要内容,如果未能解决你的问题,请参考以下文章