基础语法
- js中有多种方法可以声明变量
1.1 用var声明变量,不用指定变量类型。
<script>
var web="xxx.html";
var age=19;
</script>
变量名的命名格式和其他语言一样。不能和关键字重复,也不能用dollar符等
变量提升 : 在运行js程序时,js会对代码进行一个预解析。 就是纵观下全部代码,自动将变量的声明提到最前面。但至少声明,不会初始化。这样如果先调用变量,再声明变量不会报错,但是会undefined。这是用var定义变量不好的点,所以不建议用var定义变量。
1.2 用**let **定义变量 只能先声明再使用变量
在函数中的变量定义一样需要先定义再使用,否则出现临时性死区。
<script>
let web= "houdunren.com";
console.log(web);
</script>
用var let const声明的变量都是全局变量,函数内声明的变量是私有变量。变量的修改和C/C++ java等语言一样
1.3 用const定义常量。 定义的常量在同一个作用域中是不可修改的。
<script>
const URL = "https://......."
console.log(URL);
</script>
1.4 变量冻结 Object.freeze() 锁住变量
锁住的变量,之后不可以再被修改。
<script>
const URL = "https://......."
console.log(URL);
Object.freeze(URL);
</script>
- null和undefined
在初始化一个变量时,如果要定义为引用类型,就初始化为null,如果要定义为普通数值类型,就定义为undefined。
只定义没有初始化的变量会保存为undefined,没有定义的变量也会保存为undefined。
- 严格模式 use static
严格模式就是严格控制代码的书写,比如在写变量时必须声明,不能直接使用。可以防止全局变量污染等。
<script>
"use strict";
const URL = "https://......."
console.log(URL);
</script>
严格模式可以避免很多问题,建议使用。 可以保证代码在更多的环境中可以使用。
-
赋值运算符, 算数运算符 一元运算符 都和c++ java 等语言一样。
比较运算符返回值是bool类型。 -
逻辑运算符 && || !
-
一个特殊运算,代码如下:
<script>
let a=10,b=0;
let c= a || b;
console.log(c);
</script>
c的结果是10; ** let c= a || b;**的作用是将a,b中为真的值赋给c。
if语句
if语句和C++的语句格式几乎一致。
<body>
<input type="password" name="password" />
<script>
document.querySelector("[name='password']")
.addEventListener('keyup',function(){
let length = this.value.length;
let span = document.querySelector("#msg");
let msg="";
if(length > 10){
msg= "密码无敌安全";
}
else if(length < 6){
msg="中级密码强度";
}
else{
msg="密码太弱";
}
span.innerHTML = msg;
});
</script>
</body>
三元表达式
let a= 1 ? 2 : 5;
console.log(a);
如果1为真,则把2赋给a,否则把5赋给a;
switch语句
let a= 50;
switch(a){
case a>40:
console.log("大于40");
break;
case a>30:
console.log("小于30大于20");
break;
case a>20:
console.log("大于20小于30");
break;
default:
console.log("小于20");
}
for循环
for循环的基本语法和C++中一样。
for in 语法