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)的更多相关文章

  1. JS_高程3.基本概念(4)操作符

    ECMA-262用于操作数据值的操作符包括: 算术操作符 位操作符 关系操作符 相等操作符 ECMAScript操作符的不同之处在于:它能够适用于很多值,包括字符串,数字值,布尔值,甚至是对象.(在应 ...

  2. JS_高程3.基本概念(3)

    1.ECMAScript数值的范围 由于内存的限制,在大多数浏览器中,ECMAScript能够拿保存的数据的范围是 5e-324 ~ 1.7976931348623157e+308,其中最小的数值保存 ...

  3. JS_高程3.基本概念(2)

    1.ECMAScript数据类型 5种简单数据类型,分别是: Undefined Null Boolean Number String 1种复杂数据类型: Object (1)typeof操作符——检 ...

  4. JS_高程3.基本概念(6)函数

    1.ECMAScript中的函数使用function关键字来声明. eg: function sum (num1,num2){ alert(num1+num2); } sum(3,7); 注意: 在有 ...

  5. JS_高程3.基本概念(5)语句

    1.if语句 2.do-while语句:后测循环语句,循环体内的代码至少执行一次. 3.while语句:前测循环语句. 4.for语句:前测循环语句. 注意:在ECMAScript中不存在块级作用域, ...

  6. JS高程3.基本概念(4)操作符

    ECMA-262用于操作数据值的操作符包括: 算术操作符 位操作符 关系操作符 相等操作符 ECMAScript操作符的不同之处在于:它能够适用于很多值,包括字符串,数字值,布尔值,甚至是对象.(在应 ...

  7. JS高程3.基本概念(3)

    1.ECMAScript数值的范围 由于内存的限制,在大多数浏览器中,ECMAScript能够拿保存的数据的范围是 5e-324 ~ 1.7976931348623157e+308,其中最小的数值保存 ...

  8. JS高程3.基本概念(2)

    1.ECMAScript数据类型 5种简单数据类型,分别是: Undefined Null Boolean Number String 1种复杂数据类型: Object (1)typeof操作符--检 ...

  9. JS高程3.基本概念(1)

    1.语法 (1)ECMAScript中的一切(变量,函数名和操作符)都是区分大小写的. (2)标识符 标识符的第一个字符必须是字母,下划线或是美元符号. 其他字符可以是字母,下划线,美元符号和数字. ...

随机推荐

  1. alpha冲刺8/10

    目录 摘要 团队部分 个人部分 摘要 队名:小白吃 组长博客:hjj 作业博客:冲刺倒计时之8 团队部分 后敬甲(组长) 过去两天完成了哪些任务 首页重新设计 课程时间线确定 答辩准备 接下来的计划 ...

  2. Spring Boot配置文件放在jar外部

    Spring Boot程序默认从application.properties或者application.yaml读取配置,如何将配置信息外置,方便配置呢? 查询官网,可以得到下面的几种方案: 通过命令 ...

  3. Codeforces 442D Adam and Tree dp (看题解)

    Adam and Tree 感觉非常巧妙的一题.. 如果对于一个已经建立完成的树, 那么我们可以用dp[ i ]表示染完 i 这棵子树, 并给从fa[ i ] -> i的条边也染色的最少颜色数. ...

  4. fillder--信息面板显示请求耗时列

    class Handlers--------->Ctrl+R,找到该方法,加上以下方法即可 { // 显示每行请求的发起时间:时分秒毫秒 public static BindUIColumn(& ...

  5. UOJ#351. 新年的叶子 概率期望

    原文链接https://www.cnblogs.com/zhouzhendong/p/UOJ351.html 题目传送门 - UOJ351 题意 有一个 n 个节点的树,每次涂黑一个叶子节点(度为 1 ...

  6. 014 Security的认证流程源码级详解

    一:任务 1.任务 认证处理流程说明 认证结果如何在多个请求之间共享 获取认证用户信息 二:认证处理流程处理说明 1.流程图 这里只是一个登陆到登陆的认证部分的流程图. 2.流程解释 3.断点跟踪 页 ...

  7. excel表格导入数据库数据存在则更新不存在添加

    public void excelToDB() throws ParseException { String datapath = this.getParameter("datapath&q ...

  8. react 性能优化

    React 最基本的优化方式是使用PureRenderMixin,安装工具 npm i react-addons-pure-render-mixin --save,然后在组件中引用并使用 import ...

  9. python基础篇_002_基础数据类型

    Python基础数据类型 1.int # int 用于计算 num = 3 # int 与其他数据类型转换 int_to_str = str(num) # 数字加引号 print(int_to_str ...

  10. POJ 3177 Redundant Paths (边双连通+缩点)

    <题目链接> <转载于 >>>  > 题目大意: 有n个牧场,Bessie 要从一个牧场到另一个牧场,要求至少要有2条独立的路可以走.现已有m条路,求至少要新 ...