javascript的基本概念

1.区分大小写

ECMAScript 中的一切(变量、函数名和操作符)都区分大小写。HTML和CSS中是不会区分大小写的(但是HTML规范要求区分大小写)。

注意:
把js写在HTML中(一般是点击事件,比如onlick),但是如果Onlick作为属性,是不区分大小写的,但是属性内容,Onlick=" "是区分大小写的。
第二种情况是在HTML5中,data自定义属性是区分大小写的,比如:

<div data-NAME="123" data-type="add"><div>

理想情况下可以通过 myDiv.dataset.NAME, myDiv.dataset.type 访问数据,但是在实际测试的时候发现 NAME 值为 undefined ,这时候则需要小写来取值。所以以后涉及带-的,都要用小写取值。

2.标识符

所谓标识符,就是指变量、函数、属性的名字,或者函数的参数。
 第一个字符必须是一个字母、下划线(_)或一个美元符号($);
 其他字符可以是字母、下划线、美元符号或数字。
注意:中文可以当成标识符,但是一般我们不推荐中文,因为会涉及全角和半角的问题。

3.注释

ECMAScript 使用 C 风格的注释,包括单行注释和块级注释。
注意:

/*
* 这是一个多行
* (块级)注释
*/ 

虽然上面注释中的第二和第三行都以一个星号开头,但这不是必需的。之所以添加那两个星号,纯
粹是为了提高注释的可读性(这种格式在企业级应用中用得比较多)。

4.严格模式和正常模式

严格模式是为 JavaScript 定义了一种不同的 解析与执行模型。

在严格模式下,ECMAScript 3 中的一些不确定的行为将得到处理,而且对某些不安全的操作也会抛出错误。要在整个脚本中启用严格模式,可以在顶部添加如下代码:

"use strict"; 

它是一个编译指示(pragma),用于告诉支持的 JavaScript 引擎切换到严格模式。一般浏览器都会支持严格模式。

注意:如果要求一个函数或者几个函数使用严格模式,就在函数第一行打入"use strict",如果在压缩js文件的时候,有的js是用正常模式写的,有的js是用严格模式写的,压缩一起是用正常模式执行的。所以通常严格模式代码放在匿名函数里面,需要时候再去调用。

5.语句

一般程序员分为两种,一种是能加分号加分号,一种是能不加分号就不加分号。但是解析器一般会给代码语句加上分号,但是这是有个原则的。如果解释器判断当前语句和下一条语句不能一起执行时,解析器会添加分号,反之。

注意:如果某一行代码没有使用分号,但是下一行代码开头使用括号或者运算符时候,两个代码会一起运行(可能会变成函数)。

所以一些程序员会在一些框架或者函数在开头加上分号,避免前面的程序员没有添加分号,导致程序无法运行。所以框架程序员为保证自己写的框架可以运行,会在框架开头添加分号。

提醒1:当遇到return break continue的时候,一定要在紧跟的语句后面添加分号,不然程序运行会和预期不一样。比如,如果return 后面直接换行,则会返回为空,一般编译器很难报错,你就可能找不出错误在哪。

提醒2:涉及到++或者–的时候,这时候是个例外(编译器不是能和并就合并原则)(面试坑)
例如:

<script>
       var a=1,b=5;
       b
       ++
       a
       document.write(a+"<br/>"+b);
    </script>

输出会是什么,很多小伙伴会认为,b是6,a是1;但是输出是,a是2,b是5;所以++或者–回和下一行的代码合并到一起。

6.括号

条件控制语句(如 if 语句)只在执行多条语句的情况下才要求使用代码块,但最佳实践是始
终在控制语句中使用代码块——即使代码块中只有一条语句,例如:

if (test)
 alert(test); // 有效但容易出错,不要使用
if (test){ // 推荐使用
 alert(test);
}

在控制语句中使用代码块可以让编码意图更加清晰,而且也能降低修改代码时出错的几率。

7.关键字和保留字

ECMA-262 描述了一组具有特定用途的关键字,这些关键字可用于表示控制语句的开始或结束,或 者用于执行特定操作等。

按照规则,关键字也是语言保留的,不能用作标识符。
避免取名关键字或者保留字:
方法一:把所有保留字和关键字,关键字好记,但是保留字比较难,所以只要记住,java中的关键字都是js中的保留字。

方法二:关键字和保留字都是小写,你可以采取驼峰式命名

驼峰式格式:第一个字母小写,剩下的每个单词的 首字母大写

方法三:写中文拼音(一般会比较low),但是确实很好用。如果框架或者方法很难翻译,别人很难理解,这时候可以尝试使用中文拼音。

8.变量

ECMAScript 的变量是松散类型的。

松散类型就是可以用来保存任何类型的数据。

注意:初始化变量并不会把它标记为字符串类型;初始化的过程就是给变量赋一个值那么简单。因此,可以在修改变量值的同时修改值的类型
例如:

var message = "hi";
message = 100; // 有效,但不推荐

在这个例子中,变量 message 一开始保存了一个字符串值"hi",然后该值又被一个数字值 100 取代。虽然我们不建议修改变量所保存值的类型,但这种操作在 ECMAScript 中完全有效。

注意:在使用var的时候是个局部变量,不使用var的时候是全局变量。(面试坑)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

独夜

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值