JS_高程3.基本概念(1)
1.语法
(1)ECMAScript中的一切(变量,函数名和操作符)都是区分大小写的。
(2)标识符
标识符的第一个字符必须是字母,下划线或是美元符号。
其他字符可以是字母,下划线,美元符号和数字。
ECMAScript标识符采用驼峰大小写的格式。
(3)严格模式(strict mode)
严格模式是为了Javascript定义了一种不同的解析与执行模型。在严格模式下,ECMAScript3中的一些不确定的行为将得到处理,而且对某些不安全的 操作也会抛出错误。
要在整个脚本中启用严格模式,可以在顶部添加如下代码:
“use strict”;
它是一个编译指示(pragma),用于告诉支持的Javascript引擎切换到严格模式。
2.关键字和保留字(高程P21)
3.变量
ECMAScript的变量是松散类型的,可以保存任何类型的数据。
定义变量使用 var 操作符。
注意:
用 var 操作符定义的变量将成为定义该变量的作用域中的局部变量。即如果在函数中定义一个变量,当函数退出后就会被销毁。
eg:
<script type="text/javascript">
function test(){
var message="hi";
}
test();
alert(message);
</script>
结果会出现错误:

这里message是在函数中使用了var定义的。当函数被调用时,就会创建该变量并为其赋值,之后这个变量会立即被销毁,所以当使用alert()函数时,会导致错误。
当省略var操作符时可以定义全局变量,这样只要调用一次test()函数,这个变量就有了定义,就可以在函数外部的任何地方被访问到了。
<script type="text/javascript">
function test(){
message="hi";
}
test();
alert(message);
</script>

注意:
虽然省略 var 操作符可以定义全局变量,但是不推荐这样做,因为在局部作用域中定义全局变量很难维护,而且如果有意地忽略 var操作符,也会因为相应变量不会马上就有定义而导致不必要的混乱。
给未经声明的变量赋值在严格模式下会导致抛出ReferenceError错误。
在严格模式下,不能定义名为eval或arguments的变量,否则会出现语法错误。
Javascript中了eval()函数,arguments对象。
JS_高程3.基本概念(1)的更多相关文章
- JS_高程3.基本概念(4)操作符
ECMA-262用于操作数据值的操作符包括: 算术操作符 位操作符 关系操作符 相等操作符 ECMAScript操作符的不同之处在于:它能够适用于很多值,包括字符串,数字值,布尔值,甚至是对象.(在应 ...
- JS_高程3.基本概念(3)
1.ECMAScript数值的范围 由于内存的限制,在大多数浏览器中,ECMAScript能够拿保存的数据的范围是 5e-324 ~ 1.7976931348623157e+308,其中最小的数值保存 ...
- JS_高程3.基本概念(2)
1.ECMAScript数据类型 5种简单数据类型,分别是: Undefined Null Boolean Number String 1种复杂数据类型: Object (1)typeof操作符——检 ...
- JS_高程3.基本概念(6)函数
1.ECMAScript中的函数使用function关键字来声明. eg: function sum (num1,num2){ alert(num1+num2); } sum(3,7); 注意: 在有 ...
- JS_高程3.基本概念(5)语句
1.if语句 2.do-while语句:后测循环语句,循环体内的代码至少执行一次. 3.while语句:前测循环语句. 4.for语句:前测循环语句. 注意:在ECMAScript中不存在块级作用域, ...
- JS高程3.基本概念(4)操作符
ECMA-262用于操作数据值的操作符包括: 算术操作符 位操作符 关系操作符 相等操作符 ECMAScript操作符的不同之处在于:它能够适用于很多值,包括字符串,数字值,布尔值,甚至是对象.(在应 ...
- JS高程3.基本概念(3)
1.ECMAScript数值的范围 由于内存的限制,在大多数浏览器中,ECMAScript能够拿保存的数据的范围是 5e-324 ~ 1.7976931348623157e+308,其中最小的数值保存 ...
- JS高程3.基本概念(2)
1.ECMAScript数据类型 5种简单数据类型,分别是: Undefined Null Boolean Number String 1种复杂数据类型: Object (1)typeof操作符--检 ...
- JS高程3.基本概念(1)
1.语法 (1)ECMAScript中的一切(变量,函数名和操作符)都是区分大小写的. (2)标识符 标识符的第一个字符必须是字母,下划线或是美元符号. 其他字符可以是字母,下划线,美元符号和数字. ...
随机推荐
- ASP.NET Core Middleware管道介绍
public void Configure(IApplicationBuilder app, IHostingEnvironment env) { app.Use(async (context, ne ...
- bzoj 5099: [POI2018]Pionek
题解: 还是比较简单的一道题 考虑现在有一个向量,当且仅当下一个向量与它夹角<90度这个向量的模长才会增加 接下来怎么做呢 如果我们去枚举初始向量,向量方向会随着新增向量而变化 随着不断顺时针的 ...
- Get与Post区别小结
Get:是以实体的方式得到由请求Url所指定资源的信息,如果请求Url只是一个数据产生过程,那么最终要在实体中返回的是处理过程的结果所指向的资源,而不是处理过程的描述. Post:是用来向 ...
- 伪分布式hbase2.6.5和hbase1.1.2的配置
1.注意hadoop和hbase的版本兼容问题 目前测试用:hadoop 2.6.5 Hbase 1.1.2 2.创建hadoop用户 Sudo useradd –m hadoop –s /bin/ ...
- NOIP2017提高组Day2T2 宝藏 洛谷P3959 状压dp
原文链接https://www.cnblogs.com/zhouzhendong/p/9261079.html 题目传送门 - 洛谷P3959 题目传送门 - Vijos P2032 题意 给定一个 ...
- List接口相对于Collection接口的特有方法
[添加功能] 1 void add(int index,Object element); // 在指定位置添加一个元素. [获取功能] 1 Object get(int index); // 获取指定 ...
- eclipse中设置自动生成的author,date等注释
转自:http://blog.csdn.net/zhouhong1026/article/details/38396311 转自:http://hi.baidu.com/qianjian21/blog ...
- IDEA设置
一:代码提示 二:自动导入
- Http和RPC区别
本文转自:https://blog.csdn.net/mou_it/article/details/79873612 RPC(即Remote Procedure Call,远程过程调用)和HTTP(H ...
- sql语句start with connect by prior语法解析
prior分两种放法: 1 放在子节点端 表示start with 指定的节点作为根节点,按照从上到下的顺序遍历 2 放在父节点端 表示start with指定的节点作为最底层节点,按照从下到上的顺序 ...