前言:
当前你们对“压缩后jquery语法错误”大致比较重视,大家都想要学习一些“压缩后jquery语法错误”的相关内容。那么小编也在网上收集了一些对于“压缩后jquery语法错误””的相关资讯,希望你们能喜欢,同学们一起来了解一下吧!任何语言的核心都必然会描述这门语言的最基本的工作原理;而描述的内容通常都要涉及这门语言的语法、操作符、数据类型、内置功能等用于构建复杂解决方案的基本概念;实际上,我们现在要学的就是ECMA-262通过ECMAScript的描述了Javascript的所有基本概念;
一.语法:
1.标识符(IDentifier):
所谓标识符就是一个名字,是指用来标识某个实体的符号,就是命名,就是指变量、函数、属性的名字,或者参数名;
命名规则:第一个字符必须是字母、下划线或一个美元符号$,其他字符可以是字母、下划线、$或数字;
注:不能用数字开头(以便区分标识符和数字);
var i;var w123;var $wangwei;var _zero;var π = 3.1415926;var 零点程序员 = "零点教育";console.log(零点程序员 + ":" + π);
说明:JS允许标识符使用Unicode字符,即允许使用非英语或数学符号来书写标识符;但出于可移植性和易读性,通常只使用ASCII字线和数字来书写标签符;
按照惯例:采用小驼峰大小写格式,如:userName,虽然没有强制要求采用这种格式,但为了与ECMAScript内置的函数和对象名格式保持一致,最好使用这种方式;
采用这种方式,一定要使用有意义的单词,如:
var str;var user_name;var userName;var txtUserName;var intUserAge;var bSex;var get_user_name = function(){};var getUserName = function(){};
区分大小写(需要注意,html和CSS不区分大小写;许多JS对象和属性与它们所表示的HTML标签和属性是同名的);
<a href="; onClick="alert('zero')">this is a</a><script> var a = document.getElementsByTagName('a')[0]; console.log(a.href); a.onclick = function(){ alert("network"); }</script>
忽略空格:可以在代码中随意使用空格和换行,因此可以采用整齐、缩进排版代码,提高代码的可读性:
var a,b,c = 1;var person = { name : "wangwei", age : 18, native : "安徽"}
3.注释:
// 单行注释/* * 这是多行(块级)注释* 可书写多行* 多行注释不能嵌套*/
多行注释第二行开头不必使用*,之所以添加星号,纯粹是为了提高注释的可读性,这种格式在企业级应用中用得比较多;并且星号与内容最好有一个空格,这不是什么硬性规定,纯属习惯,好的习惯就是专业素质的体现。
4.直接量(literal):
就是程序中直接使用的数据值,一般用在表达式中,如:
12; // 数字1.2; // 小数"hello world"; // 字符串true;/zeronetwork/gi; // 正则
5.严格模式:
ECMAScript5引入了严格模式(strict mode);严格模式是为Javascript定义了一种不同的解析与执行模型;在此模式下,ECMAScript3中的一些不确定的行为将得到处理,而且对某些不安全的操作也会抛出错误;启用严格模式,可以在顶部添加:”use strict”;这行代码看起来像是字符串,而且也没有赋值给任何变量,但其实它是一个编译指示(pragma),租用于告诉支持的Javascript引擎切换来严格模式;
也可以指定函数在严格模式下执行,在函数内部的上方包含这条编译指示:
function doFun(){
“use strict”;
}
注:格式模式下,Javascript的执行结果会有很大的不同。
6.语句:
ECMAScript中的语句以一个分号结尾;如果省略分号,则由解析器确定语句的结尾,如:
var a = 3 // 即使没有分号也可以,但不推荐var b = 4var a = 3; var b = 4; // 第一个分号不能省略var sum = a + b;console.log(sum);
在解析时,会自动补上分号;
但是,并不是在所有换行处都会自动填补分号:只有在缺少了分号就无法正确解析代码的时候,才会填补分号,即当前语句和随后的非空格字符不能当成一个整体来解析的话,其他情况不会,如:
var aa=5console.log(a);
通常来说,如果一条语句以“( [ / + -”开始,那么它极有可能和前一条语句合在一起解析,在某些情况下,可以在语句前加上一个分号,确保前面的语句被修改或分号被误删除,当前也会正确的解析,如:
var x = 0; // 这里可以省略分号;[x,x+1,x+2].forEach(element => { // 前面的分号确保了正确地解析语句 console.log(element);});
另外,还有一种特殊情况,就是涉及return、break和continue语句,如果其后不带分号,会强制填补;
function fun(){ return false;}console.log(fun()); // undefined
虽然语句的结尾的分号不是必需的,但强烈建议任何时候都不要省略它,原因在上面已经讲过了;另外,在实际场景中,可以通过删除多余的空格来压缩ECMAScript代码,比如:jquery.min.js文件(如果没有分号,压缩就会出错错误);
另外,加上分号也会在某些情况下增进代码的性能,因为这样解析器就不必花时间推测应该在哪里插入分号了;另外,也会增强代码的可读性和整洁性。
二.关键字和保留字:
ECMA-262描述了一组具有特定用途的关键字,其就是具有特殊含义的单词,这些关键字可用于表示控制语句的开始或结束,或者用于执行特定操作等;按照规则,关键字也是语言保留的,不能用作标识符;今后的学习中会慢慢讲解。
break、do、instanceof、typeof、case、else、new、var、catch、finally、return、void、continue、for、switch、while、debugger、function、this、with、default、if、throw、delete、in、try
ECMA-262还描述了另外一组不能用作标识符的保留字,尽管保留字在这门语言中还没有任何特定的用途,但它们有可能在将来被用作关键字:简单来说,就是JS还没有使用,但保不齐今后会使用。
abstract、enum、int、short、Boolean、export、interface、static、byte、extends、long、super、char、final、native、synchronized、class、float、package、throws、const、goto、private、transient、debugger、implements、protected、volatile、double、import、public、let、yield
如果使用了关键字作标识符,会导致“”错误;而使用了保留字标识符有可能会也有可能不会导航相同的错误,取决于特定的引擎;
另外,第5版还对eval和arguments增加了限制,在严格模式下,这两个名字不能作为标识符或属性名,否则会抛出错误。
注:这些保留字不需要特别去记忆。
标签: #压缩后jquery语法错误 #jquery基础语法