一、简介
JavaScript 是世界上最流行网页脚本编程语言。
这门语言可用于 HTML 和 web,更可广泛用于服务器、PC、笔记本电脑、平板电脑和智能手机等设备。
JavaScript 是可插入 HTML 页面的编程代码。
JavaScript 插入 HTML 页面后,可由所有的现代浏览器执行。
二、使用方式
1、页面直接嵌入javascript代码
javascript代码可以放在 head 标签内,也可以放在 body标签内, 建议放到body底部。
2、调用外部的javascript
三、javascript 数据类型
1、原始数据类型
字符串、数字、布尔、数组、对象、Null、Undefined
var x // x 为 undefinedvar x = 5; // x 为数字var x = "tom"; // x 为字符串
字符串,可以使用单引号,也可以使用双引号
var foo='bar'var foo="bar"
数字, javascript中只有一种数字,可以带小数点,也可以不带小数点
var x1=34.00; //使用小数点来写var x2=34; //不使用小数点来写
极大值或者极小值可以使用科学计数来表示
var y=123e5; // 12300000var z=123e-5; // 0.00123
布尔值,javascript中布尔值只有两个值,true和false
var x=truevar y=false
数组(下面代码为cars的数组)
var cars=new Array();cars[0]="Audi";cars[1]="BMW";cars[2]="Volvo";
或者以下边的方式创建
var cars=new Array("tom","lilei","hanmeimei");
或者以类似python 列表的方式创建
var cars=["tom","lilei","hanmeimei"];
2、对象数据类型
1、Number
转换:
- parseInt(..) 将某值转换成数字,不成功则NaN
- parseFloat(..) 将某值转换成浮点数,不成功则NaN
特殊值:
- NaN,非数字。可使用 isNaN(num) 来判断。
- Infinity,无穷大。可使用 isFinite(num) 来判断。
2、String
字符串是由字符组成的数组,但在JavaScript中字符串是不可变的:可以访问字符串任意位置的文本,但是JavaScript并未提供修改已知字符串内容的方法。
字符串常见方法
obj.length 长度 obj.trim() 移除空白obj.trimLeft()obj.trimRight)obj.charAt(n) 返回字符串中的第n个字符obj.concat(value, ...) 拼接obj.indexOf(substring,start) 子序列位置obj.lastIndexOf(substring,start) 子序列位置obj.substring(from, to) 根据索引获取子序列obj.slice(start, end) 切片obj.toLowerCase() 大写obj.toUpperCase() 小写obj.split(delimiter, limit) 分割obj.search(regexp) 从头开始匹配,返回匹配成功的第一个位置(g无效)obj.match(regexp) 全局搜索,如果正则中有g表示找到全部,否则只找到第一个。obj.replace(regexp, replacement) 替换,正则中有g则替换所有,否则只替换第一个匹配项, $数字:匹配的第n个组内容; $&:当前匹配的内容; $`:位于匹配子串左侧的文本; $':位于匹配子串右侧的文本 $$:直接量$符号
3、Boolean
创建Boolean对象
var myBoolean=new Boolean()
注释:如果逻辑对象无初始值或者其值为 0、-0、null、""、false、undefined 或者 NaN,那么对象的值为 false。否则,其值为 true(即使当自变量为字符串 "false" 时)!
值为false的对象
var myBoolean=new Boolean();var myBoolean=new Boolean(0);var myBoolean=new Boolean(null);var myBoolean=new Boolean("");var myBoolean=new Boolean(false);var myBoolean=new Boolean(NaN);
值为true的对象
var myBoolean=new Boolean(1);var myBoolean=new Boolean(true);var myBoolean=new Boolean("true");var myBoolean=new Boolean("false");var myBoolean=new Boolean("Bill Gates");
Boolean 对象的比较符号
- == 比较值相等
- != 不等于
- === 比较值和类型相等
- !=== 不等于
- || 或
- && 且
4、数组
数组的方法
bj.length 数组的大小 obj.push(ele) 尾部追加元素obj.pop() 尾部获取一个元素obj.unshift(ele) 头部插入元素obj.shift() 头部移除元素obj.splice(start, deleteCount, value, ...) 插入、删除或替换数组的元素 obj.splice(n,0,val) 指定位置插入元素 obj.splice(n,1,val) 指定位置替换元素 obj.splice(n,1) 指定位置删除元素obj.slice( ) 切片obj.reverse( ) 反转obj.join(sep) 将数组元素连接起来以构建一个字符串obj.concat(val,..) 连接数组obj.sort( ) 对数组元素进行排序
四、其他
1、序列化
JSON.stringify(obj) 序列化JSON.parse(str) 反序列化
2、转义
decodeURI( ) URl中未转义的字符decodeURIComponent( ) URI组件中的未转义字符encodeURI( ) URI中的转义字符encodeURIComponent( ) 转义URI组件中的字符escape( ) 对字符串转义unescape( ) 给转义字符串解码URIError 由URl的编码和解码方法抛出
3、eval
JavaScript中的eval是Python中eval和exec的合集,既可以编译代码也可以获取返回值。eval() EvalError 执行字符串中的JavaScript代码
4、正则表达式
JavaScript中支持正则表达式,其主要提供了两个功能:test(string) 用于检测正则是否匹配exec(string) 用于获取正则匹配的内容
注:定义正则表达式时,“g”、“i”、“m”分别表示全局匹配,忽略大小写、多行匹配。
5、时间处理
JavaScript中提供了时间相关的操作,时间操作中分为两种时间:时间统一时间本地时间(东8区)
五、判断循环
1、判断语句
if语句
if (time<10) { x="Good morning"; }else if (time<20) { x="Good day"; }else { x="Good evening"; }
switch语句
var day=new Date().getDay();switch (day){case 0: x="Today it's Sunday"; break;case 1: x="Today it's Monday"; break;case 2: x="Today it's Tuesday"; break;case 3: x="Today it's Wednesday"; break;case 4: x="Today it's Thursday"; break;case 5: x="Today it's Friday"; break;case 6: x="Today it's Saturday"; break;}
2、循环语句
for 循环
for (var i=0,len=cars.length; i