C3、JS基本语法2


C3、JS基本语法2

js


一、字符串

  1. 字符串要写成多行,可以在末尾加入 \
  2. base64 可以使用atob() 进行编码 btoa()解码

二、对象

  1. 对象就是一组“键值对”(key-value)的集合,是一种无序的复合数据集合。
  2. 键值对,如果键全是数字则自动转换成字符串,数字开头的混合要加入双引号(最好都加入双引号)
  3. 键值对的表示的是对象的引用(类似java中的实例引用指向其他对象),但只限于对象,如果是原始类型则不可以这样操作。
  4. {foo:123} 有歧义,可能被解析成表达式或者代码块,所以所有表达式冲突都要用()括起来。没有()理解成代码块,有()理解成对象。
  5. foo.p或者foo['p']来取得属性,但是p要加入'',否则取自变量。
  6. 查看所有属性 Object.keys(obj)
  7. delete 用于删除对象属性,删除成功返回true
  8. in 用于检查是否存在某个属性
  9. for in 可以遍历所有可以遍历的属性,以及继承的可遍历属性
  10. with 用于操作统一个对象不同属性方便操作

三、数组

  1. 本质是个object
  2. 数组不能使用.xx来取值
  3. 可以对length进行赋值改变数组长短
  4. delete删除会形成空位,长度不会改变,遍历的时候空位会被跳过

四、函数声明方法

  1. function foo(){}
  2. var r = function(){}
  3. var foo = function f(){} 这样定义f只能在函数内部使用
  4. 第一等公民,函数与其他数据地位平等,因此在js中又称函数为第一等公民
  5. 函数作用域,只能在函数内部访问。只有在函数域内定义的变量是局部变量,其他地方的变量都是全局变量。
  6. 函数省略的参数值会变成undefined
  7. 多个参数传入,arguments对象来实现读取,严格模式下不允许写入
  8. 闭包有作用:1.读取内部函数的变量2.使得内部变量始终保持在内存中(有点像static) 
    3.封装私有属性和私有方法(注意不要滥用闭包,每次闭包都会产生变量存储在内存中不能释放,用多会产生性能问题)
  9. 函数立即调用表达式 (function(){})('hello')
  10. eval函数能把字符串转换为程序执行。
+
  2018-06-20 09:52  字数 856  阅读 0

猜你喜欢

转载自blog.csdn.net/Rocarrot/article/details/80742066
C3