js的执行错误分为 语法syntaxError,和 runtime error,
首先, 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的执行过程, 语法错误和运行时错误?的更多相关文章

  1. Javascript的执行过程详细研究

    下面我们以更形象的示例来说明JavaScript代码在页面中的执行顺序.如果说,JavaScript引擎的工作机制比较深奥是因为它属于底层行为,那么JavaScript代码执行顺序就比较形象了,因为我 ...

  2. JavaScript的执行过程(深入执行上下文、GO、AO、VO和VE等概念)

    JavaScript的执行过程 前言 编写一段JavaScript代码,它是如何执行的呢?简单来说,JS引擎在执行JavaScript代码的过程中需要先解析再执行.那么在解析阶段JS引擎又会进行哪些操 ...

  3. 游览器中javascript的执行过程

    在讲这个问题之前,先来补充几个知识点,如果对此已经比较了解可以直接跳过 大多数游览器的组件构成如图 在最底层的三个组件分别是网络,UI后端和js解释器.作用如下: (1)网络- 用来完成网络调用,例如 ...

  4. 浅谈javascript函数执行过程

    javascript函数执行过程: 1. 为函数创建一个执行环境 2. 复制函数的 [[scopes]] 属性中的对象构建起执行环境的作用链域 3. 创建函数活动对象并推入执行环境作用链域的前端 4. ...

  5. 浅谈 JavaScript new 执行过程及function原理

    前言 最近在学习JavaScript语言精粹,感觉写得相当不错.所以这里也算是总结一下.一个方法使用new的方式创建到底是怎样的过程,一个function的声明内部又是怎样执行的呢 另外学的过程中,不 ...

  6. javascript eval 执行过程

    当执行eval时,会执行如下过程 eval(x): 1.如果 x的类型不是string,那么会return x; 2.把x转换成 ecmascript 代码.如果转换失败,责抛出SyntaxError ...

  7. Javascript代码执行过程-《悟透Javascript》笔记

    本文摘录自李战老师<悟透Javascript>一书的部分章节,为适应博客发表作了一点点修改. 1) 预编译分析. JavaScript执行引擎将所有定义式函数直接创建为作用域上的函数变量, ...

  8. 用友U8合同执行单保存报错,提示“语法错误或违反访问规则”

    问题描述 用户参照合同录入第一阶段的执行单,保存时提示“语法错误或违反访问规则”,其他合同均正常,只有这张合同出现这个问题. 解决过程 语法错误或违反访问规则是SQL Server常见的报错,但其他合 ...

  9. javascript的执行顺序(转载)

    之前从JavaScript引擎的解析机制来探索JavaScript的工作原理,下面我们以更形象的示例来说明JavaScript代码在页面中的执行顺序.如果说,JavaScript引擎的工作机制比较深奥 ...

随机推荐

  1. SQL 跟据出生日期求年龄

    最近做项目时遇到一个问题. 跟据人员的生日与当前日期进行比较求出该人员实际年龄.这个看上去比较简单的问题,其实不细心去看也会有很多问题. 先看第一种: 一张人员信息表里有一人生日(Birthday)列 ...

  2. Springboot整合Mybatis 之分页插件使用

    1: 引入jar包 <!-- 引入MyBatis分页插件--> <dependency> <groupId>com.github.pagehelper</gr ...

  3. DatabaseGenerated(转)

    在EF中,我们建立数据模型的时候,可以给属性配置数据生成选项DatabaseGenerated,它后有三个枚举值:Identity.None和Computed. Identity:自增长 None:不 ...

  4. 转 VS2010 RDLC 横向合并时“未正确设置 tablix“Tablix1”的 FixedData 属性”错误解决方法 .

    最近在使用Rdlc做报表打印,有些报表的表头需要合并表头.Rdlc本身提供了横向合并的工具,但是在实际合并的时候,会出现“未正确设置 tablix“Tablix1”的 FixedData 属性.除非在 ...

  5. sitecore系列教程之营销人员和技术人员如何策划与消费者的对话以提升体验?

    “每次良好的交谈都要从良好的倾听开始.” - 未知 你是如何听取网站访问者的?你是在倾听还是只是回复? 拥有内容管理系统只是良好网站战略的一个要素.毕竟,内容必须是动态的,及时的和相关的. 当网站访问 ...

  6. JustOJ1500: 蛇行矩阵

    题目链接:https://oj.ismdeep.com/problem?id=1500 题目描述 蛇形矩阵是由1开始的自然数依次排列成的一个矩阵上三角形. 输入 本题有多组数据,每组数据由一个正整数N ...

  7. Numpy 通用函数

    frompyfunc的调用格式为frompyfunc(func, nin, nout),其中func是计算单个元素的函数,nin是此函数的输入参数的个数,nout是此函数的返回值的个数 # 注:用fr ...

  8. 通过 Java 线程堆栈进行性能瓶颈分析

    改善性能意味着用更少的资源做更多的事情.为了利用并发来提高系统性能,我们需要更有效的利用现有的处理器资源,这意味着我们期望使 CPU 尽可能出于忙碌状态(当然,并不是让 CPU 周期出于应付无用计算, ...

  9. 使用Ajax出现302 Moved Temporarily

    现象:在用ajax发送请求时,各种参数都对,地址也对,一直进error返回parse error. 使用浏览器发现ajax请求的header的响应码处:302 Moved Temporarily 百度 ...

  10. php定界符<<<EOF讲解

    Heredoc技术.可用来输出大段的html和javascript脚本 1.PHP定界符的作用就是按照原样,包括换行格式什么的,输出在其内部的东西: 2.在PHP定界符中的任何特殊字符都不需要转义:  ...