`
jamm19860411
  • 浏览: 86557 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

js 作用域、预编译小结

js 
阅读更多
1.js在页面加载过程中顺序执行。但是分块预编译、执行。
2.JS 在执行前会进行类似"预编译"的操作,而且先预声明变量再预定义函数。
此时注意,是声明,不是定义,如:var a = 1; 在预编译中,只是执行了"var a"没有赋值,即在预编译结束时a 为undefined。
3.(注意)并不是先全文编译完在执行,而是块编译,即一个script块中,预编译再执行,然后(按顺序)下一个script块,预编译再执行,但此时上一个块中的数据都是可以用的,但下一个块中的函数,声明的变量都是不可用的。
4.变量没声明就引用,会报错,但对象方法,对象变量没声明,是undefined
5.在函数中变量不声明就赋值,会被认为是全局变量,用var声明后为函数变量
6.在执行函数时时也是先编译后执行,但要注意函数定义中(即大括号中)的代码即使有错只要函数不执行,就不会有影响,但一执行函数,开始函数预编译就会出错。
0
0
分享到:
评论

相关推荐

    Javascript的匿名函数小结

    3. **作用域**:Function构造函数创建的函数总是作为顶级函数执行,无法访问局部作用域内的变量,而函数字面量则遵循正常的作用域规则。 **三、匿名函数的代码模式** 1. **错误模式**:`function(){ alert(1);}();...

    JavaScript学习小结之被嫌弃的eval函数和with语句实例详解

    需要注意的是,eval执行的代码拥有和调用它的地方相同的变量作用域环境,这意味着它可以通过变量名访问到局部作用域和全局作用域的变量,也可以在其中定义新的变量或函数。例如: ```javascript var result = eval('...

    javascript函数定义的几种区别小结

    函数声明被提升到当前作用域的顶部。 例如: ```javascript function add(a, b) { return a + b; } ``` 2. Function构造函数定义函数: 这种方式通过Function构造函数创建新函数。它接受任意多个字符串参数,最后...

    关于Angularjs中自定义指令一些有价值的细节和技巧小结

    - `scope`: 可以设置为`true`(继承父作用域并创建子作用域)、`false`(共享父作用域)或一个对象(创建隔离作用域)。隔离作用域允许在指令内部创建独立的数据模型,与其他作用域保持隔离。 - `controller`: 指定...

    JS声明式函数与赋值式函数实例分析

    在JavaScript的预编译阶段,声明式函数会被提升到当前作用域的顶部,这意味着不论函数声明的位置在哪里,它都会在执行任何其他代码之前被解析。因此,即使在声明函数之前调用它,代码也能正常运行,如上述的第一个...

    精通AngularJS part1

    运用name属性将表单附加到作用域上154 为用户信息表单增加动态行为154 显示验证错误155 让保存按钮无效156 使原生浏览器校验无效157 56在其他表单中嵌套表单157 将子表单作为可重用组件157 57重复子表单158 ...

    php网络开发完全手册

    2.2.3 变量的作用域 27 2.2.4 动态变量 29 2.3 运算符和关键字 29 2.4 流程控制语法 30 2.4.1 程序控制语句的简介 30 2.4.2 条件控制语句 30 2.4.3 循环控制语句 33 2.4.4 转移控制语句 35 2.5 表达式 36 2.5.1 简单...

    Angular 1.x个人使用的经验小结

    - `&`绑定:允许父作用域中的函数注入到子作用域,常用于事件触发。 - `=`绑定:实现双向数据绑定。 - `绑定:单向绑定,从父作用域到子作用域。 4、**组件(Component)** 从1.5+版本开始引入,组件是对指令的...

    PHP函数常用用法小结

    闭包(Closures)是匿名函数的一种延伸,它允许访问定义它们的词法作用域中的变量,但与JavaScript中的闭包相比,PHP的闭包功能相对较弱。 嵌套函数是在一个父函数体内部定义的函数。在PHP中,内部函数通常不能访问...

    Flex企业应用开发实战源代码

    1.5 小结 20 第2章 Flex企业应用开发基础 21 2.1 MXML语言 21 2.1.1 用MXML表示ActionScript对象 22 2.1.2 查看由MXML文件所翻译的ActionScript代码 24 2.1.3 IMXMLObject接口 25 2.2 客户端保持状态 28 2.3 ...

    vue data引入本地图片的两种方式小结

    `import`是ES6的模块导入语法,它可以将模块(包括图片)作为常量导入到当前作用域中。以下是如何在`data`中使用`import`引入图片: ```html import img from '@/images/ICON-electronicbilling.png' export...

    亮剑.NET深入体验与实战精要2

    1.3.6 变量的作用域 13 1.3.7 常量 16 1.3.8 流程控制 16 1.3.9 字符串常见操作 21 1.3.10 几个常用的数学函数 27 1.4 .NET的面向对象之门 27 1.4.1 继承——“子承父业” 28 1.4.2 委托——“任务书” 35 1.4.3 ...

    亮剑.NET深入体验与实战精要3

    1.3.6 变量的作用域 13 1.3.7 常量 16 1.3.8 流程控制 16 1.3.9 字符串常见操作 21 1.3.10 几个常用的数学函数 27 1.4 .NET的面向对象之门 27 1.4.1 继承——“子承父业” 28 1.4.2 委托——“任务书” 35 1.4.3 ...

Global site tag (gtag.js) - Google Analytics