1、js基础
1.1tip
js文件在head中引用,会在关闭 body 标签前引入JavaScript 代码。这样浏览器就会在加载脚本之前解析和显示 HTML,有利于提升页面的性能。
1.2强类型语言
强类型语言:声明变量时需要指定变量的类型,是类型安全的语言。eg:Python,JAVA
弱类型语言:数据类型可以被忽略的语言。eg:JavaScript
1.3代码输出方式
alert 、console.log、document.write
1.4变量作用域
作用域是指,在编写的算法函数中,我们能访问变量(在使用函数作用域时,也可以是一个函数)的地方。有局部变量和全局变量两种。
让我们看一个例子。
var myVariable = 'global';
myOtherVariable = 'global';
function myFunction() {
var myVariable = 'local';
return myVariable;
}
function myOtherFunction() {
myOtherVariable = 'local';
return myOtherVariable;
}
console.log(myVariable); // {1} global
console.log(myFunction()); // {2} local
console.log(myOtherVariable); // {3} global
console.log(myOtherFunction()); // {4} local
console.log(myOtherVariable); // {5} local
上面的代码可解释如下。
行{1}输出 global,因为它是一个全局变量。
行{2}输出 local,因为 myVariable 是在 myFunction 函数中声明的局部变量,所以
作用域仅在 myFunction 内。
行{3}输出 global,因为我们引用了在第二行初始化了的全局变量 myOtherVariable。
行{4}输出 local。在 myOtherFunction 函数里,因为没有使用 var 关键字修饰,所
以这里引用的是全局变量 myOtherVariable 并将它赋值为 local。
因此,行{5}会输出 local(因为在 myOtherFunction 里修改了 myOtherVariable
的值)。
1.5数据类型
原始数据类型:null、undefined、字符串、数、布尔值和 Symbol①。
原始数据类型直接存储在栈(stack)中简单数据段,占据空间小,大小固定,属于被频繁使用的数据,所以存储在栈中;
派生数据类型/对象:JavaScript 对象,包括函数、数组和正则表达式。
引用数据类型直接存储在堆中,占据空间大,大小不固定,如果存储在栈中,将会影响程序运行的性能,引用数据类型在栈中存储了指针,该指针指向堆中该实体的起始地址,当解释器寻找引用值时,会首先检索其在栈中的地址,取得地址后,从堆中获得实体。
delete运算符
var myObj = {name: 'John', age: 21};
delete myObj.age;
console.log(myObj); // 输出对象{name: "John"}
1.6真假值
数值类型 转换成布尔值
undefined false
null false
布尔值 true 是 true,false 是 false
数 +0、-0 和 NaN 都是 false,其他都是 true
字符串 如果字符串是空的(长度是 0)就是 false,其他都是 true(长度大于等于 1)
对象 true