Javascript 语句执行顺序
Javascript Statement Order of Execution
var confirm = confirm('Are you sure?');
我刚刚测试了这个语句,我得到了一个错误,指出confirm
不是一个函数。
我立即检测到变量名称正在覆盖它。 但是我的问题是为什么?
我知道函数是一流的,声明与函数同名的变量将在相对范围内覆盖它。 但我的困惑来自我认为是从"从右到左"的执行顺序,即函数调用是在确定目的地之前进行的。
在这种情况下,变量是否在函数调用之前被定义?
由于 JavaScript 的变量提升:
function myFunction() {
// ...
var confirm = confirm('Are you sure?');
// ...
}
成为:
function myFunction() {
var confirm;
// ...
confirm = confirm('Are you sure?');
// ...
}
您需要执行以下操作来强制执行您的含义:
function myFunction() {
// ...
var confirm = window.confirm('Are you sure?');
// ...
}
相关文章:
- 使用appendChild()动态添加的脚本是按顺序执行还是并行执行
- 如何在angularjs中按顺序执行多数据ng应用程序
- 要按顺序执行的异步代码
- AngularJS:如何按照预定义的顺序执行函数
- 按顺序执行导入的 Javascript 函数
- 无法让 jQuery 以正确的顺序执行代码
- 触发后的 Javascript 顺序执行
- $http.post() angularjs 响应函数未按正确的顺序执行
- 如何按顺序执行 jQuery 函数
- 为什么Javascript不按顺序执行代码
- 对象在循环中运行时未定义,但在按顺序执行时未定义
- 按顺序执行ajax请求的动态编号
- javascript在网络上的顺序执行
- SQL语句是通过PhoneGap'按顺序执行的吗;的Web SQL数据库
- jQuery Deferred和Promise用于同步和异步函数的顺序执行
- 顺序执行js
- 如何按顺序执行承诺数组
- 有没有更好的方法以一定的顺序执行一堆部分异步的jQuery函数
- 如何确保 Dojo 模块按特定顺序执行
- 为什么我的 JavaScript 不能按顺序执行