一、javascript的基本知识点
1.问题:编程语言该怎么学习才能快速入门?
分享:只要是编程语言都会涉及以下几个点:a.数据类型 b.核心库 c.语法特色。从这三个方面进行理论学习,然后动手编程实践,基本就可以掌握一门编程语言了。
1.1 javascript的基本数据类型有5种,1.数值类型:包括整形和浮点型eg:3or3.14 ;2.字符串类型 “hello world”; 3.布尔值类型true or false; 4.undefined未定义 5.null空值,除了这5种基本类型其他类型都是对象,对象有包括系统对象和自定义对象,系统对象如object以及Array等。自定义对象即为用户定义的类型。结合基本类型来分析一下javascript的语法特色:在javascrip中没有强类型的束缚,即声明一个变量时不要要指定类型,从而导致这个变量很活跃,如var test;在申明时无法知道其类型,但是在初始化的时候就找到其类型了如test=3;可见test为数值型,那么问题来了,如果我只是申明而不初始化,那对应的变量会不会有默认值或者默认值又是什么呢?
/* 测试基本数据的默认值 */var kNumber; var kString; var kBoolean; var kUndefined; var kNull; function trace(){ console.log([kNumber, kString, kBoolean, kUndefined, kNull]); }
输出结果为:
[undefined, undefined, undefined, undefined, undefined]
分析:因为没有初始化所以没有类型也就无法设置默认值,所以都是undefined没有定义的类型变量,如果没有申明变量而直接使用会怎样呢?
如console.log(xxx);//显然会报Error,main.js:12 Uncaught ReferenceError: kUnkown is not defined.....
所以在申明变量时就应该初始化,那样的话我们就能指导变量的类型了如:
var kNumber = 1.2; var kString = ""; var kBoolean = true; var kUndefined = undefined; var kNull = null; function trace(){ console.log([typeof kNumber,typeof kString,typeof kBoolean,typeof kUndefined,typeof kNull, typeof null]); }输出:
["number", "string", "boolean", "undefined", "object", "object"]//为何基本类型的null会被typeof为object? 如果输出其值则为null
每种基本数据类型都有自己的一些特征,如number就会有临界值即此类型可以表达的数值范围,在javascript中为Infinity和-Infinity,以及NaN等特性。如布尔类型有几个是固定的false值其余全为true,false的转化情况有:0 , “”, null, undefined, NaN, false.
1.2 核心库的学习,在掌握基本的数据类型和语法后就可以熟悉编程语言的核心库或者说框架了。javascrip也是一个框架,只要是框架就会有一些必然会有的东西或者说工具,如容器类,对框架的分析笔者在《jQuery修炼之路》第一章中有涉及。接下来一章学习javascript核心库。。。。