推广 热搜: 广场  Java  app  Word  营业  微信公众号  北京代理记账  商城  代理记账  商标交易 

javascript中undefined与0相等吗 js编码规范答案?

   2023-04-27 企业服务招财猫70
核心提示:js编码规范答案?1.嵌入规则Javascript程序应该放在。js文件,并在需要时以ltscriptsrc#34filename.js#34gt的形式包含在页面中。如果Javascript代码不是特

js编码规范答案?

1.嵌入规则

Javascript程序应该放在。js文件,并在需要时以ltscriptsrc#34filename.js#34gt的形式包含在页面中。如果Javascript代码不是特定于页面的,您应该尽量避免直接在页面中编写Javascript代码。

2.对齐缩进和换行

a)缩进

同一系统应采用相同的压痕标准。本文主张缩进大小应为4个空格。编译器对Tab键替换的空间大小有不同的定义。建议在设置开发环境时,将编辑器中的Tab快捷键重置为4个空格。大多数编译器都提供这个特性。否则建议缩进4个空格。

b)换行

必须在以下位置换行:

在每个独立语句的末尾;

If,else,catch,finally,while等关键词;

当一行在运算符处中断时,该运算符必须位于新行的开头。

对于单行长度超出限制时出现的换行,请参考行长度中的分隔策略。

1).字符串太长,被截断。

每行代码应少于80个字符。如果代码比较长,要尽量断行,断行要选在运算符和标点符号之后,最好选在分号或逗号之后。下一行代码相对于前一行缩进4个空格。这样可以有效防止复制粘贴造成的代码丢失等错误,增强可读性。

将字符串截断一定长度,并用运算符连接。尽可能在语义上分隔字符串,比如不要在一个完整的名词中间断开。特别地,对于HTML片段的拼接,通过缩进来维持与HTML相同的结构:

您还可以使用数组进行缝合,这使得相对于操作调整缩进变得更加容易:

2).三元运算符太长。

三元运算符由三部分组成,因此其换行符应根据各部分的长度而不同,形成三种不同的情况:

不得出现以下情况:

3).逻辑条件组合过长

当80个字符可以由于复杂的逻辑条件组合而不能满足需求,每个条件都要用单独的一行来分隔,并且要把逻辑运算符放在行首来分隔,或者用逻辑组合来分隔某些逻辑。最后把右括号)和左大括号{放在一个独立的行上,保证if中的句块在视觉上容易识别。比如:

4).长JSON和数组。

如果一个对象的属性很多,导致每个属性一行占用的空间太大,可以按照语义或者逻辑组织成组,比如:

通过五组的分组,将每条线控制在合理的范围内,进行逻辑划分。对于有很多项的数组,也可以采用同样的方法,比如:

5).返回语句

Return如果将表达式的执行作为返回值,请将表达式和return放在同一行,以免换行符被误解为语句结束而导致返回。回错误。return关键字后若没有返回表达式,则返回undefined。构造器的默认返回值为this。

示例:

3.命名

命名的方法通常有以下几类:

a).命名法说明

1).camel命名法,形如thisIsAnApple

2).pascal命名法,形如ThisIsAnApple

3).下划线命名法,形如this_is_an_apple·

4).中划线命名法,形如this-is-an-apple

根据不同类型的内容,必须严格采用如下的命名法:

b).变量名:必须使用camel命名法

c).参数名:必须使用camel命名法

d).函数名:必须使用camel命名法

e).方法/属性:必须使用camel命名法

f).私有(保护)成员:必须以下划线_开头

g).常量名:必须使用全部大写的下划线命名法,如IS_DEBUG_ENABLED

h).类名:必须使用pascal命名法

i).枚举名:必须使用pascal命名法

j).枚举的属性:必须使用全部大写的下划线命名法

k).命名空间:必须使用camel命名法

l).语义:命名同时还需要关注语义,如:

变量名应当使用名词;

boolean类型的应当使用is、has等起头,表示其类型;·

函数名应当用动宾短语;

类名应当用名词。

4.注释

注释要尽量简单,清晰明了。着重注释的意思,对不太直观的部分进行注解:

(当然这种直接定义一堆全局变量的做法不推荐)

此外,Javascript的注释有两种#34//#34和#34#34,建议#34//#34用作代码行注释,#34#34形式用作对整个代码段的注销,或较正式的声明中,如函数参数、功能、文件功能等的描述中:

另:复制粘贴应注意注释是否与代码对应。

5.声明

1).变量的声明

尽管Javascript语言并不要求在变量使用前先对变量进行声明。但我们还是应该养成这个好习惯。这样可以比较容易的检测出那些未经声明的变量,避免其变为隐藏的全局变量,造成隐患。

在函数的开始应先用var关键字声明函数中要使用的局部变量,注释变量的功能及代表的含义,且应以字母顺序排序。每个变量单独占一行,以便添加注释。这是因为Javascript中只有函数的{}表明作用域,用var关键字声明的局部变量只在函数内有效,而未经var声明的变量则被作为一个全局变量。示例:

用var声明的变量valu

为什么undefined,NaN和Infinity可以被赋值,而null不可以?

在javascript中。

Undefined、NaN和Infinity是全局对象窗口的属性。所以它们可以被赋值,但是因为它们的内部属性[[writable]]为false,所以赋值实际上是无效的。证明:

(窗口,未定义);//结果://Object{valu:未定义,writabl:假,:假,configurabl:假}

可见undefined确实是window的属性,不能写。

Null类似于true和false,是一个文字量,属于Javascript的保留字。换句话说就是和123,foobar一样,当然不能赋值。

 
反对 0举报 0 收藏 0 打赏 0评论 0
 
更多>同类资讯
推荐图文
推荐资讯
点击排行
合作伙伴
网站首页  |  关于我们  |  联系方式  |  使用协议  |  版权隐私  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报  |  冀ICP备2023006999号-8