JavaScript高级程序设计是入门web前端开发的神级书籍,简称小红书。由于公司业务的发展,我不得不从iOS转向前端开发。目前已上线一款小程序《熊猫超级名片》,在开发过程中,也感受到了一个半吊子前端的困惑和无奈。所以想要从基础开始,打好底子,往后才会事半功倍。
第三章:基本概念
语法
JS借用了大量的C和类C的语法,区分大小写(Test
test
是两个不同的变量),并且你不能使用typeof
关键字来当做函数名。JS的语句每行是以分号结束的,虽然可以不使用分号,但是推荐使用分号结束。(加分号,可以提高解析器的性能,因为这样解析器就不用推测哪里要加分号了。)
变量
JS的变量是松散类型的,意味着你可以用来保存任何数据类型,例如:
var message = "hello lad";
message = 100;
虽然这样也可以,但是并不推荐这么做。
使用var
关键字在函数中定义的变量,它的作用域只体现在函数中,例如:
function handler() {
var message = "Hi"
}
handler();
console.log(message)
// 输入: ReferenceError: message is not defined
如果想在外部使用在函数内部定义的变量,我们可以这么用:
function handler() {
message = "Hi"
}
handler();
console.log(message)
这样就会把message提升为全局变量,虽然这么做没有错,但是非常不推荐,因为这样会增加你的维护成本,并且这种写法在严格模式下也会出现ReferenceError: message is not defined
的错误。
数据类型
JS中有5种简单数据类型:
- Undefined
- Null
- Boolean
- Number
- String
还有一个复杂数据类型: - Object
typeof
操作符:
- "undefined" -- 如果这个值未定义
- "boolean" -- 如果这个值是布尔值
- "string" -- 如果这个值是字符串
- "number" -- 如果这个值是数值
- "object" -- 如果这个值是对象或者是"null"
- "function" -- 如果这个值是函数
let a;
console.log(typeof a);
console.log(typeof true);
console.log(typeof "1");
console.log(typeof 1);
let obj = {
name: "hellolad"
};
console.log(typeof obj);
function handler() {}
console.log(typeof handler);
// 输出:
undefined
boolean
string
number
object
object
function
这章后余的内容,基本都是条件判断和循环,和其他语言大同小异。
网友评论