笔记 - JS易忘基础知识(一)(ECMAScript基础)
1 原始值(Primitive Value)是存储在栈(Stack)中的简单数据段;引用值(Reference Value)是存储在堆(Heap)中的对象,即存储在变量中的值是一个指针。
2 ECMAScript的5种原始类型:undefined、null、boolean、number和string;对它们使用typeof运算时,分别返回:”undefined”、”object”、”boolean”、”number”和”string”。
3 关于typeof:
var t; alert(typeof t); alert(typeof t2);
两次输出都是”undefined”。(但其他运算符只能作用于已声明的变量上)
4 关于==
alert(null==undefined); //输出"true"
alert(NaN==NaN); //输出"false"(任何作用于NaN的关系运算都返回false)
5 如果v的值是””、0、undefined或null,则Boolean(v)返回false。
6 关于Boolean
var o = new Boolean(false);
var b = o && true; //输出"true"
7 关于slice()和substring()的区别:slice将负参数当做0,substring在负参数上加上length。
8 void运算符:
<a href="javasctipt:void(window.open('about:blank'))">Click Me</a>
9 ECMAScript中,函数无重载,后面的函数定义覆盖之前的。
10 给函数传参时,遗漏的参数会以undefined传递给函数,多余的参数将忽略。
11 JavaScript闭包:传送门
“在本质上,闭包就是将函数内部和函数外部连接起来的一座桥梁。”
P.S.哎,闭包还是不怎么懂