数据类型
- 数字
整数、浮点数 - 字符串
单引号、双引号
可以这样引入变量作为字符串形式:"+变量+";
如果外面有引号,则如下:'"+变量+"'或" "+变量+" " - 布尔型
true、false - null型
null - undefined 型
undefined
变量作用范围
js默认情况下,变量以函数为范围。
- var
定义变量时加 var表示局部变量,否则为全局变量。
常量
同样用const定义
函数
-
函数定义
js中,函数有三种定义方法。
- 用function即可声明函数
function myFunction(a, b) {
return a * b;
}
- 可以通过一个表达式定义函数
var x = function(a, b) {
return a * b;
}
- 可以通过js内置的函数构造器(Function())定义
var myFunction = new Function("a", "b", "return a * b");
-
函数存储
js中,函数表达式可以存储在变量中,如上述方法二中的x;
在函数表达式存储在变量后,变量也可作为一个函数使用,通过调用变量名即可调用该函数。 -
自调用
函数表达式可以 "自调用",无需借助其他变量,已声明的函数则不能。
自调用的方法为先给表达式自身加一组括号,再在表达式后面紧跟 ()
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>
<p>函数可以自动调用:</p>
<p id="demo"></p>
<script>
(function () {
document.getElementById("demo").innerHTML = "Hello! ";
})();
</script>
</body>
</html>
-
函数?对象?
js中,使用 typeof 操作符判断函数类型将返回 "function" ,但函数本身也具有属性和方法,可以称作对象
函数定义作为对象的属性,称之为对象方法。
函数如果用于创建新的对象,称之为对象的构造函数。 -
箭头函数
ES6中新添加的函数形式,比普通函数表达式更简洁。
var a = function(x, y) {
return x + y;
}
var b = (v,h) => v + h;
正则表达式
-
语法
/正则表达式主体/修饰符(可选) -
修饰符
-- i:执行对大小写不敏感的匹配。
-- g:执行全局匹配(查找所有匹配而非在找到第一个匹配后停止)。
-- m:执行多行匹配。 -
字符串方法
-- search():用于检索字符串中指定的子字符串,或检索与正则表达式相匹配的子字符串,并返回子串的起始位置。
可使用字符串作为参数,字符串参数会转换为正则表达式。
-- replace():用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串。 -
正则表达式方法
-- test():用于检测一个字符串是否匹配某个模式,如果匹配返回 true,否则返回 false。
-- exec():用于检索字符串中的正则表达式的匹配。返回一个数组,其中存放匹配的结果。如果未找到,返回值null。
对象
var student = {
name:"张三",
age:29,
sayHello:function(){
//this.方法的调用者
console.info(this.name)
}
}
这里涉及多种创建对象方式,以及原型和原型链的问题,比较复杂,等总结完再发
继承
ES6中新加入的extends,可通过其创建一个普通类或者内建对象的子类
class User1 extends Person123{
}
模板字符串
用`(反引号)标识,用${}将变量括起来。所有的空格和缩进都会被保存。
在模版字符串中使用反引号需要加上转义字符“\”
var name = "张三";
var age = 20;
var introduce = `
my name is ${name}, my age is ${age}
`;
导入库
可通过import和from导入库
语法:import {模块名称} from "需要导入模块的路径名"
import {sum} from "lib/math.js"