003.JavaScript的基本用法
JavaScript的基本数据类型
JavaScript里面的数据类型
JavaScript支持5种简单的数据类型:number,string,boolean,undefined,null。
number:数字类型
string:字符串类型
boolean:布尔类型
undefined:定义了一个变量但是没有被赋值
null:表示是一个空
JavaScript的基本数据类型有数字(在JS中,数字不区分整型和浮点类型)、数组,字符串,布尔(只用两个值,true和false)。
在JavaScript中申明一个变量:
PI = 3.14 // 声明一个全局变量,赋值3.14, 数字类型 var a = 6; // 声明一个局部变量a,为其赋值6,是数字类型 var b = [1,2,3,4] // 数组 var c = "hell world" // 字符串 var d = true // 布尔类型 var e = {'k1':v1, 'k2':v2, 'k3':v3} //字典 c = null // 清空变量c
字符串类型的常用方法:
"string".length 返回字符串长度 " string ".trim() 移除字符串的空白 " string ".trimLeft() 移除字符串左侧的空白 " string ".trimRight) 移除字符串右侧的空白 "string".charAt(n) 返回字符串中的第n个字符 "string".concat(string2, string3, ...) 拼接 "string".indexOf(substring,start) 子序列起始位置 "string".lastIndexOf(substring,start) 子序列终止位置 "string".substring(from, to) 根据索引获取子序列 "string".slice(start, end) 切片 "string".toLowerCase() 将字符串转为大写 "string".toUpperCase() 将字符串抓为小写 "string".split(delimiter, limit) 以特定字符分割字符串 // 与正则表达式搭配使用 "string".search(regexp) 从头开始匹配,返回匹配成功的第一个位置(g无效) "string".match(regexp) 全局搜索,如果正则中有g表示找到"string".replace(regexp, replacement) 替换,正则中有g则替换所有,否则只替换第一个匹配项, $数字:匹配的第n个组内容; $&:当前匹配的内容; $`:位于匹配子串左侧的文本; $':位于匹配子串右侧的文本 $$:直接量$符号
数组类型的常用方法:
obj.length 数组的大小 obj.push(ele) 尾部追加元素 obj.pop() 从尾部弹出元素 obj.unshift(ele) 头部插入元素 obj.shift() 头部移除元素 // 可用此句完成对数组的插入,删除,替换操作 obj.splice(start, deleteCount, value, ...) 从start位置开始,删除deleteCount个元素,插入value,... obj.slice( ) 切片 obj.reverse( ) 反转 obj.join(sep) 将数组元素连接起来以构建一个字符串 obj.concat(val,..) 连接数组 obj.sort( ) 对数组元素进行排序
JavaScript的选择和循环语句
1 if (判断条件){ 2 // js代码 3 }else if(判断条件){ 4 // js代码 5 }else{ 6 // js代码 7 } 8 9 // 常用判断符号与逻辑符号 10 && 逻辑与 11 || 逻辑或 12 > < 大于 小于 13 == != 判断值 14 === !== 判断值和类型 选择语句_1
1 // x代指变量,case为x不动的取值情况,defult当上面的case都不满足执行defult,相当于else 2 switch(x){ 3 case '1': 4 var i = 1; 5 break; 6 case '2': 7 var i = 2; 8 break; 9 case '3': 10 var i = 3; 11 break; 12 defult: 13 i = 0; 14 } 选择语句_2
1 1. 循环时循环的是索引 2 a = [11,22,33]; 3 for (var item in a){ 4 console.log(a[item]); // 在浏览器的console中打印a[item]的值,item是索引 5 } 6 7 8 a = {'k1':'v1', 'k2':'v2', 'k3':'v3'}; 9 for (var item in a){ 10 console.log(a[item]); 11 } 12 13 2. 常规for循环 14 for (var i=0; i<10; i++){ 15 //js代码 16 } for循环
var len = 10; 2 var i = 0; 3 while(i < len){ 4 console.log(i); // 代指js代码 5 i++; 6 }
JavaScript的函数申明
与其他编程语言类型,JS也有函数,在JS中申明一个函数特别简单。
// 常规函数 function funcname(a, b, c) { var a = 0; // JS代码块 }
// 匿名函数,匿名函数只有某一块代码使用,在声明时已经确定由谁来执行它 setIntervar(function(){ console.log(123); // js代码块 }, 5000)
// 自执行函数,函数声明完后立即执行并且不会被其他代码调用 (function(arg){ console.log(arg); //js代码块 })(1)
JS面向对象
在JavaScript中,面向对象其实是函数的一种变种,与函数的定义非常类似。
// 定义一个类 function Foo(n){ this.name = n; // 属性 // 方法 this.sayHello = function(){ console.log("hello,", name); } } // 实例化一个对象 var obj = new Foo('abc'); obj.name; // 调用属性 obj.sayHello(); // 调用方法
function Foo(n){ this.name = n; } Foo.prototype = { 'sayHello': function(){ console.log("hello,", this.name); } } var obj = new Foo('abc'); obj.name; obj.sayHello();
注:通常使用方式二来定义和使用一个对象。
1. 定时器,每隔特定的时间执行一次特定的任务,用途十分广泛。
var a = setInterval(function(){console.log('hello');}, 间隔时间); clearInterval(a); // 清除定时器
2. 超时器,设置一段时间,比如5秒钟,当时间超过5秒钟后执行某一任务。
var b = setTimeout(funciton(){console.log('hello')}, 5000); // 设置超时器 clearTimeout(b); // 清除超时器,比如当用户执行某一操作后,取消超时器使用它
3. 弹出提示框
alert('message') // message代指要提示的信息
4. 弹出确认框
// 向用户弹出一个确认框,如果用户选择确认,v=true;否则,v=false。 var v = confirm('message') // message为确认提示信息,比如真的要删除吗?
5. 刷新页面
location.reload(); // 执行此方法浏览器自动刷新当前页面,可以和定时器配合使用用以定时刷新页面
6. 页面跳转
location.href // 获取当前页面的url location.href = url; // 从当前页面跳转到指定url,可与超时器配合使用,做网站的页面跳转 location.href = location.href; // 与location.reload()效果相同,刷新当前页面
7. eval(使用eval,可将字符串转换成代码执行)
var s = '1+2'; var a = eval(s); console.log(a);
8. 序列化
序列化试将一个对象转化成字符串,方便存储,打印等。在任何一门编程语言中都存在序列化。
而反序列化是将读取到的字符串转化为对象,方便程序使用。
在js中,序列化与反序列画的操作如下:
ls = [1,2,3,4]; s = JSON.stringify(ls); //object ---> string console.log(s); new_ls = JSON.parse(s) //string ---> object console.log(new_ls);
触发JavaScript的事件
onclick --- 鼠标点击执行js函数 onfocus --- 光标选中执行js函数 onblur --- 光标移走执行js函数 onmouseover --- 鼠标移到某个标签执行js函数 onmouseout --- 鼠标从某个标签移走执行js函数