JavaScript语句
1.JavaScript 语句
JavaScript 语句由以下构成:值、运算符、表达式、关键词和注释。
//我是一个注释,我属于js语句的一部分,我也是狠重要的
var age = 1 + 17;
2.分号;
a = 1;
b = 2;
c = a + b;如果有分号分隔,允许在同一行写多条语句: a = 1; b = 2; c = a + b;
3. js的代码的行长度和折行
为了达到最佳的可读性,程序员们常常喜欢把代码行控制在 80 个字符以内。
可以在文本字符串中使用反斜杠对代码行进行换行
<!DOCTYPE html>
<html>
<body>
<script>
document.write('我一路向北 \
离开有你的季节');
</script>
</body>
</html>
不能像这样折行
<!DOCTYPE html>
<html>
<body>
<script>
document.write \
("你好世界!");
</script>
</body>
</html>
4.js空白字符
js会忽略多个空格。您可以向脚本添加空格,以增强可读性
这两行是相等的:
var name = "emo";
var name="emo";
5.js代码块
JavaScript 可以分批地组合起来。代码块以左花括号开始,以右花括号结束。代码块的作用是一并地执行语句序列。
function myFirst() {
alert('听妈妈的话别让她受伤');
alert('想快快长大才能保护她');
}
JavaScript注释
单行注释
单行注释以 // 开头。
任何位于 // 与行末之间的文本都会被 JavaScript 忽略(不会执行)。
多行注释
多行注释以 /* 开始,以 */ 结尾。
JavaScript变量
1.js变量
定义:值可以被修改的量叫做变量
格式:定义一个变量:var x = 1;
x 叫做变量名,1 叫做字面量。
说明:
-
变量相当于容器,值相当于容器内装的东西,而变量名就是容器上贴着的标签,通过标签可以找到变量,以便读、写它存储的值
-
ECMAScript 的变量是松散类型(弱类型,动态类型)的,所谓松散类型就是可以用来保存任何类型的数据
2.声明变量
在 js中,声明变量使用 var 语句。
案例1:在一个 var 语句中,可以声明一个或多个变量,也可以为变量赋值,未赋值的变量初始化为 undefined(未定义)值。当声明多个变量时,应使用逗号运算符分隔。
<!DOCTYPE html>
<html>
<head>
<meta charset='utf-8'>
</head>
<body>
<script>
var a; //声明一个变量
var a,b,c; //声明多个变量
var b = 1; //声明并赋值
console.log(a); //返回 undefined
console.log(b); //返回 1
</script>
</body>
</html>
在 js中,可以重复声明同一个变量,也可以反复初始化变量的值。
在非严格模式下,JavaScript 允许不声明变量就直接为其赋值,这是因为 JavaScript 解释器能够自动隐式声明变量。隐式声明的变量总是作为全局变量使用。
在严格模式下,变量必须先声明,然后才能使用。
"use strict"; x = 3.14; // 报错 (x 未定义
3.变量的命名规范
构造变量名称(唯一标识符)的通用规则是:
-
名称可包含字母、数字、下划线和美元符号
-
名称必须以字母开头
-
名称也可以 $ 和 _ 开头(逗比写法)
-
后面可以跟字母 _ $和数字
-
名称对大小写敏感(Animal和 animal 是不同的变量)
-
保留字(比如 JavaScript 的关键词)无法用作变量名称
提示:JavaScript 标识符对大小写敏感。
js标识符
系统征用的有特殊功能的单词.
标识符指的是变量、函数、属性的名字,或者函数的参数。
标识符命名规范
-
第一个字符必须是一个字母、下划线(_)或一个美元符号($),其他字符可以是字母、下划线、美元符号或数字
-
不能含有空格 不能以关键字或保留字命名
-
保留关键字
-
*标记的关键字是 ECMAScript5 中新添加的。
-
应该避免使用 JavaScript 内置的对象、属性和方法的名称作为 Javascript 的变量或函数名:
命名规范
标识符命名要做到顾名思义。
起一个有意义的名字,尽量做到看一眼就知道是什么意思(提高代码可 读性) 比如: 名字 就定义为 name , 定义学生 用 student
驼峰命名法,又分为大驼峰命名法和小驼峰命名法
-
小驼峰式命名法(lower camel case): 第一个单词以小写字母开始;第二个单词的首字母大写,例如:myName、aDog
-
大驼峰式命名法(upper camel case): 每一个单字的首字母都采用大写字母,例如:FirstName、LastName.
下划线 user_name
4. 赋值变量
使用等号=
运算符可以为变量赋值,等号左侧为变量,右侧为被赋的值。
变量提升:JavaScript 在预编译期会先预处理声明的变量
(1) //a is not defined
// 你要输出a 但是没有a
// console.log(a);
// 当有一个代码报错 那么后面所有的代码都不执行了
// console.log(111);
(2) //变量提升 依赖于下面的知识点支撑
// 带var的变量会进行变量提升
// 以下的代码 在执行的之前 会进行重新编译,编译的结果是
// var name1;
// console.log(name1);
// name1 = 'Barry';
// console.log(name1);
js当执行到script的标签的时候 会让里面所有的带var变量进行提升
// 其实所谓的变量提升 就是将js的代码重新排版
// 会将带var的变量的声明提升 赋值的那个操作不会提升
声明之后 但是木有初始化的时候 会返回undefined
面试题(1)
// 有俩个变量 a b
// 使用第三个变量 将两个变量互换
// 交换2个变量
var a = 1;
var b = 2;
var temp;
temp = a;
a = b;
b = temp;
console.log(a);
console.log(b);
面试题(2)
// 不使用第三个变量 来实现2个数据的交换
var a = 3;
var b = 5;
// a = 3 + 5; ==>8
a = a + b;
// b = 8 - 5; ==>3
b = a - b;
// a = 8 - 3; ==>5
a = a - b;
console.log(a);
console.log(b);