js语法规范
『壹』 HTML、javascript中基本的语法知识
其实这个疑问不复杂的,引号包含后,均为字符串,该不该使用引号,并不是回看你在调用时,而是答看你调用的方法。
例如:getElementById("id"),这个“id”,引号包含的id,就是你页面中某个元素的名字,getElementById 这个方法(当然大家可能不知道这个方法的源码),就是根据字符串“id”,去寻找页面元素的,因为这个function需要字符串参数,所以你必须使用字符串,如果只用id,那么这个id可能就是一个未定义的变量了。
对于innerHTML = "functionName()"; 这个是给变量innerHTML赋值,当然innerHTML 是某个元素(例如div)的属性变量。
总而言之,是否使用字符串,而看属性值或者方法参数,他们需要什么,如果需要字符串,你就得给字符串。
说的很罗嗦,就是担心你看不明白。
祝你学习快乐!
『贰』 JS语法问题
去掉最外层花括号即可
document.write('<scriptsrc="/js/.js"></script>');
请采纳
『叁』 JS文件代码语法
addLog是不是一个自定义的函数?按照函数名的意思应该是向里面添加log,参数是两个,第一个我感内觉应该容是文件名或者是对象名,第二个参数是一个dictionary,应该是给前面那个对象的相应的属性添加相应的值,也就是{属性名:值,属性名2:值2.......}
『肆』 简述JavaScript程序引入的三种方式的语法要求
(1)嵌入HTML文件中
一般放在<head></head>(事实上可以放在任何位置)中,格式:
<script type="text/javascript">
//此处为专JavaScript代码
</script>
(2) 定义专门的属外部文件
将JavaScript代码写在一个独立的脚本文件(扩展名为.js)中,在页面中使用时直接导入该脚本文件即可,导入的格式:
<script type="text/javascript" src="要导入的js文件.js"></script>
(3)除了上面两种最为常用的方式外,还可以在以下地方定义JavaScript代码
A、在HTML的元素事件属性中,比如,按钮的单击事件,语法:
<input type="button"onclick="javascript:js脚本代码" />
范例:
『伍』 JavaScript中如何使用变量有什么特殊的语法规则
Javascript使用变量没什么规则,甚至不需要定义(这也导致很多问题,需要尽量避免这种专情况),但是变量名必须属是合法的标识符,并尽量遵循变量命名原则
1.
变量名区分大小写,允许包含字母、数字、美元符号($)和下划线,但第一个字符不允许是数字,不允许包含空格和其他标点符号
2.
变量命名长度应该尽可能的短,并抓住要点,尽量在变量名中体现出值的类型
3.
尽量避免使用没有意义的命名
4.
禁止使用JavaScript关键词、保留字全名
5.
变量名命名方法常见的有匈牙利命名法、驼峰命名法和帕斯卡命名法
『陆』 javascript关于语法的问题
以下是权威人士书籍中讲述的关于 Undefined,Null,Equal(==),Not Equal(!=),Identically equal(===),Not Identically equal(!==)
The Undefined type
the Undefined type has only one value, undefined. When a variable is declared and not initialized, it is given the value of undefined by default.
未定义类型,只有一个值undefined只要你定义了变量没有赋值,那么它的值就是undefined
The Null type
Another type with just one value, the Null type, has only the special value null, which is also its literal.
The value undefined is actually a derivative of the value null, so ECMAScript defines them as equal to
each other.
空类型也只有一个值null,未定义类型的值undefined 其实是空类型值null的一个衍生值,所以ECMAScript定义他俩相等
Equal and not equal
The equal operator in ECMAScript is the double equal sign (==), and it returns true if—and only if—
both operands are equal. The not equal operator is the exclamation point followed by an equal sign (!=),
and it returns true if—and only if—two operands are not equal. Both operators do conversions in
order to determine if two operands are equal.
等于和不等于用法和其他类型语言大致相同,但是又有很多不同,比如,你在比较相同的字符数字和数字类型数字式会“自动转换”后比较。毕竟JS是弱类型语言,一些特例在下面
null == undefined true
“NaN” == NaN false
5 == NaN false
NaN == NaN false
NaN != NaN true
false == 0 true
true == 1 true
true == 2 false
undefined == 0 false
null == 0 false
“5” == 5 true
Identically equal and not identically equal
The brothers of the equal and not equal operators are the identically equal and not identically equal
operators. These two operators do the same thing as equal and not equal, except that they do not convert
operands before testing for equality. The identically equal operator is represented by three equal signs
(===) and only returns true if the operands are equal without conversion.
一句话解释:用===和!==,比较前做比较的值不会做转换。
至于上面那位大哥的内存地址比较说,我不敢苟同,JavaScript是弱类型,虽然分着几个类型的,如String,Number,Boolean,Object,
我个人认为,==和===都应该是值比较,至于用==产生的特例情况应当是ECMAScript设计之初就加进去的特性,===是instanceof && ==
也就是说===更符合强类型语言规范
附送一个(==)转换规则
When performing conversions, follow these basic rules:
❑ If an operand is a Boolean value, convert it into a numeric value before checking for equality.
A value of false converts to 0; whereas a value of true converts to 1.
❑ If one operand is a string and the other is a number, attempt to convert the string into a number
before checking for equality.
❑ If one operand is an object and the other is a string, attempt to convert the object to a string
(using the toString() method) before checking for equality.
❑ If one operand is an object and the other is a number, attempt to convert the object to a number
before checking for equality.
『柒』 请问我这个javascript语法规范上有没有问题
打开开发者工具确认下,是不是报了个 warning:
Scripts may close only the windows that were opened by it。
浏览器不允许关闭版非自己权程序打开的窗口了。
『捌』 JS中点语法和方括号语法访问属性的区别
点是访问json对象。而方括号是数组。
要说数组和对象的区别,其实数组就是对象的一种特殊变专体而属已。数组你可以获得上标下标数量,通过键访问,利用for循环来遍历。而json对象就没有长度了,也就没法用for,而要用for in来遍历。这就意味着json遍历可能找的更深,效率会比较慢。
从感官上来说数组讲究数据的排列顺序。而json对象则重视键与值的对应关系。而实际上关联数组就是json对象,关联数组是一种特殊的数组,也没有办法用for去遍历。所以数组和json对象并没有严格的区分,根据实际需要,按照语法来就ok了。
所以在js的语法中,你要分开记:
1、一般数组(强调顺序),用方括号
2、关联数组(没有顺序,和json对象类似,但是按照数组的语法来),用方括号
3、json对象(没有顺序),用点
『玖』 这是js什么语法规则
Ecmascript 6的语法来规则,自箭头函数(arrow function),技术参考文档:https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Functions/Arrow_functions
『拾』 js表达式语法语句
1.表达式(expressions)
表达式是由运算符构成,并运算产生结果的语法结构。每个表达式都会产生一个值,它可以放在任何需要一个值的地方,比如,作为一个函数调用的参数.下面的每行代码都是一个表达式:
var a = (5 + 6) / 2; //表达式:(5 + 6) / 2
var b = (function(){ return 25;})(); //表达式: (function(){ return 25;})()
foo(a*b); //表达式:a*b
2.语句(statements)
语句则是由“;(分号)”分隔的句子或命令。如果在表达式后面加上一个“;”分隔符,这就被称为“表达式语句”。它表明“只有表达式,而没有其他语法元素的语句”。
var a = (5 + 6) / 2; //整行,赋值语句
if(a>12) { statements} //条件语句
var o = {}; //赋值语句
(function(obj){ obj.b = 23;})(o||{}); //表达式语句
一般的javascript中的语句分为下面几种:
(1)声明语句:变量声明和函数声明
(2)赋值语句
(3)控制语句:能够对语句执行顺序产生改变,包括条件语句和循环语句,当然还有比较特殊的标签语句。
(4)表达式语句:这些语句去掉最后分号,都也可当表达式用的。常见的有:对象操作(new、delete)、函数调用(函数执行,必有返回值)等。
var num = 9; //声明、赋值语句
vloop: //标签语句
{ //其实这里大括号可以不需要的,在这里我只想向大家展示一下这种代码块结构而已
for(var i=1; i<10; i++) { //循环语句
if(i==num){ //条件语句
break vloop;
}else{
num = num - 1;
}
}
}
console.log(num); //表达式语句,输出:5
由上面可以看出,表达式和语句还是存在很大区别的,可也说表达式是语句的构成部分,而语句则又可以组成可执行代码块。