setcookie 和 cookie 跨域问题,图片不存在跨域问题(不下载的时候)
Access-Control-Allow-Origin等一系列是否为后端设置的确认
window的一些方法:
location:
history:
内置对象:
基本包装类型(访问字符串方法时,创建实例,在实例上指定方法,销毁实例):
引用类型:
Object 本身不具有length属性
Array:length不止是只读的,改变数组的length可以改变数组长度。判断数组的方法:Array.isArray(参数)
Array内置函数:
Date
RegExp
Function
变量:包含两种不同数据类型的值,为基本类型值和引用类型值。
基本类型值:String,Number,Boolean,Undefined,Null(typeof检测)
引用类型值:Object,Array,Date,Function,RegExp(instance检测,如检测这个值是不是Object的实例)
基本类型的值和地址存储在栈内存中,而引用类型的地址存储在栈内存中,值存储在堆内存中
JavaScript引擎在执行的时候,会把所有变量的声明都提升到当前作用域的最前面。
执行环境及作用域: js没有块级作用域,只有全局执行环境和局部执行环境,局部执行环境是在函数执行过程中创建。 每个执行环境都有一个与之关联的变量对象,环境中定义的所有变量和函数都保存在这个对象中。 虽然我们编写的代码无法访问这个对象,但解析器在处理数据时会在后台使用它。 这个变量对象,在执行环境创建的过程中产生。作用域链就是基于执行环境的这个变量对象的。 全局环境的变量对象位于作用域链的末端,因此访问局部变量比访问全局变量更快。
内存问题: 局部变量会在它们离开执行环境时自动解除引用,方便浏览器下次回收,全局变量只有当关闭浏览器时才会回收。js是一门具有自动垃圾收集机制的编程语言,开发人员不必关心内存和分配的原因。
低耦合:代码模块与模块之间没有尽量别有牵扯,能做到把这段代码单独拿出来也能用。
高内聚:代码块只和自己及自己内部的代码有关系。
函数声明会有提升,函数表达式只是变量提升
call(),apply() ==> 可以修改this的当前对象
this,arguments,内部函数搜索这两个变量时,只会搜索到其活动对象为止。
而匿名函数的执行环境通常具有全局性,如果当某个函数被作为某个对象的方法调用时,this等于那个对象
arguments是对象,具有callee属性arguments.callee等于调用自身
函数可以cs()(),前提是当cs()的时候,return出来一个函数
闭包
闭包引用外部函数变量对象中的值; 在外部函数的外部调用闭包。 理解闭包的关键在于: 外部函数调用之后其变量对象本应该被销毁,但闭包的存在使我们仍然可以访问外部函数的变量对象。
两者优先级关系:
本文作者:BARM
本文链接:
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!