javascript的执行过程, 语法错误和运行时错误?
2017-03-27 15:39
465 查看
js的执行错误分为 语法syntaxError,和 runtime error,
首先, js引擎会检查 整个脚本的语法, 如果在检查语法的过程中,发现了错误, 比如括哈不配对, 字符串少了 另一半的引号等等, 那么一开始就不会执行...
但是, 语法正确, 脚本开始执行, 并不表示后面的执行过程一直都正确, 因为还会出现运行时的错误, 如: referenceError等错误.
定义一个变量, 即初始化这个变量;
其他地方, 对这个变量的使用, 都叫做 "引用"
子域的变量, 可以引用 父域的变量, 即父域的变量在子域中, 是可见的 visible. 但是反之不亦然: but not vice versa.
而子域中的变量, 在 父域中, 则是不可见的:
js虽然是弱类型语言, 但是, 它有一个要求就是: 在 reference 引用一个变量之前, 这个变量 "必须"是 "显式的" 定义过了的. 否则你一拿起就使用它, 那么必然的就会出错, 注意是出错, 不是警告. 相应的, 后面的代码就不会被执行!!
通常默认的ajaxReturn返回类型就是json. 如果你只是为了返回 "字符串" 就可以不写这个, 采用默认的 json类型就可以了;
xml类型和eval类型(eval类型是为了返回能执行的js代码)一般比较少用, 而jsonp基本就不会用到..
但是, 如果你写错了ajaxReturn类型, 则不会返回任何东西, 或者说, 返回为null. 空.
首先, js引擎会检查 整个脚本的语法, 如果在检查语法的过程中,发现了错误, 比如括哈不配对, 字符串少了 另一半的引号等等, 那么一开始就不会执行...
但是, 语法正确, 脚本开始执行, 并不表示后面的执行过程一直都正确, 因为还会出现运行时的错误, 如: referenceError等错误.
如果你感觉没有语法错误, 而js从某个语句开始, 其后面的语句不能执行, 那么一定是 这个语句之前的 某个地方, 某个语句出错了. 所以 从这个语句开始之后的 代码就不能执行了.
对于一个变量来说, 只有 "定义" 和 "引用" 两种说法,定义一个变量, 即初始化这个变量;
其他地方, 对这个变量的使用, 都叫做 "引用"
js中代码的作用域的概念
子域的变量, 可以引用 父域的变量, 即父域的变量在子域中, 是可见的 visible. 但是反之不亦然: but not vice versa.
而子域中的变量, 在 父域中, 则是不可见的:
js虽然是弱类型语言, 但是, 它有一个要求就是: 在 reference 引用一个变量之前, 这个变量 "必须"是 "显式的" 定义过了的. 否则你一拿起就使用它, 那么必然的就会出错, 注意是出错, 不是警告. 相应的, 后面的代码就不会被执行!!
为什么submit按钮 用ajax方式 提交时, 会自动回到 本页面? 有返回的信息时, 只是闪一下就没有了?
是因为, submit类型的按钮, 在单击时, 会在 "最后" 默认的 "即使你不写"的情况下, 都会执行 它的 默认的动作, 即提交: 但是由于你没有写action, 所以他就提交到 当前页面, 所以, 当前页面就又刷新了一次... 应该在js的最后 返回false;书写代码一般按照 规范来书写, 但是也没有必要完全按照规范来写, 一般能够理解就可以了.
ajaxReturn(data, 'type'...)其中的type类型只有四种方式: json, jsonp, xml, eval, 这些返回的type类型, 本身就有header类型声明, 而且已经做了xml_encode, json_encode编码的了...通常默认的ajaxReturn返回类型就是json. 如果你只是为了返回 "字符串" 就可以不写这个, 采用默认的 json类型就可以了;
xml类型和eval类型(eval类型是为了返回能执行的js代码)一般比较少用, 而jsonp基本就不会用到..
但是, 如果你写错了ajaxReturn类型, 则不会返回任何东西, 或者说, 返回为null. 空.
相关文章推荐
- JavaScript是解释型语言,是不需要编译的,浏览器直接解释源代码,并执行在内存中创建变量等操作。不需要编译,即不存在什么语法不语法的,因为没有编译阶段,直接在运行的阶段才发现有没有语法错误
- Makefile:xxx: recipe for target xxx failed +【顺带搞懂了】如何忽略makefile执行过程中的某些命令的错误而得以继续运行
- javascript运行过程中的“预编译阶段”和“执行阶段”
- JavaScript运行过程中的“预编译阶段”和“执行阶段”
- javascript运行机制之执行顺序详解(修正原作者一处错误)
- Makefile:xxx: recipe for target xxx failed +【顺带搞懂了】如何忽略makefile执行过程中的某些命令的错误而得以继续运行
- Noesis.Javascript中执行arttempllate读取运行错误
- javascript代码运行不出来执行错误的可能情况整理
- JavaScript运行过程中的“预编译阶段”和“执行阶段”
- Makefile:xxx: recipe for target xxx failed +如何忽略makefile执行过程中的某些命令的错误而得以继续运行
- javascript运行过程中的“预编译阶段”和“执行阶段”
- JavaScript语句是在客户端执行的代码,所以jsp文件的jsp有语法错误
- JavaScript运行过程中的“预编译阶段”和“执行阶段”
- javascript代码运行不出来执行错误的可能情况整理
- 很感谢这篇文张【已解决】Makefile:xxx: recipe for target xxx failed +【顺带搞懂了】如何忽略makefile执行过程中的某些命令的错误而得以继续运行
- JavaScript出现“不能执行已释放的Script代码”错误的原因及解决办法
- javascript innerHTML出现未知运行时错误
- javascript运行时错误:this.ds为空或不是对象
- 执行存储过程--“为过程或函数指定了过多的参数”的错误
- VB6:编写一个分析sqlserver存储过程执行语句"execute procedurename par1,par2,......."语法是否正确的函数