JavaScript介绍
JavaScript是一种web脚本语言,具有弱类型、跨平台等特性。
JavaScript的标识符一定要注意大小写,因为js对大小写敏感
JavaScript的数据类型
Undefined类型:出现场景已声明但未赋值的变量,获取对象不存在的属性
Null类型:值null,表示不存在
Number:整数,浮点数
String:字符组成的文本
Boolean:true,false等2个特定的值
Object:一组无序的键值对的集合
常用内置对象
字符串
str.length()返回字符串的长度
str.slice()从原字符串取出子 字符串并返回,不改变原字符串的值
str.trim()去除字符串两端的空格(/t,/v),(/n),(/r)
str.indexOf()用于确定一个字符串在另一个字符串的位置
str.toLowerCase()转换为小写
str.toUpperCase()转换为大写
str.split()按照给定规则分隔字符串,返回一个由分割出来的字符串组成的数组
对象(Object)
创建对象
var obj1 = {};
var obj2 = new Object();
var obj = { name:"john", age:12, getAge:function(){ console.log('age'); } }; obj.address = 'china'; obj.getAge = function(){}; delete obj.address; -- 删除对象的属性
数组
var arr = [1,2,true,’john’];
arr.push() — 在数组末端添加进一个或多个元素,并返回添加新元素后的数组长度,该方法会改变原数组
arr.pop() — 删除数组最后一个元素,并返回该元素,改变原数组
arr.join() — 以参数作为分隔符,将所有的数组成员组成一个字符串返回
arr.shift() — 用于删除数组的第一个元素,并返回该元素
arr.unshift() — 在数组的第一个位置添加元素
遍历数组
var a = [1,2,3,4]; for(var i in a){ console.log(a[i]); }
函数(Function)
声明函数
function print(s){ console.log(s); } var print = function(s){ console.log(s); }
变量表达式声明函数,必须放在函数调用之前,否则js引擎会找不到该函数
函数调用:print(5);
数学对象(Math)
Math.abs() — 返回参数值的绝对值
Math.min()
Math.max()
Math.floor() — 向下取整
Math.ceil() — 向上取整
Math.round()– 四舍五入
Math.random() — 返回 [ 0 , 1 ) 区间内的值
Math的三角函数等
--返回[2,6]区间内的随机数
function getRandom(min,max){ var random = Math.random() * (max-min) + min; return Math.round(random); } var random = getRandom(2,6); console.log(random);
JSON
json格式是一种用于数据交换的文本格式
json格式描述的文件,本身是个字符串,并非对象,所以从后端传到前端需要格式转换
json格式规则:
- 复合类型的值只能是数组或对象,不能是函数、正则表达式对象、日期对象
- 简单类型的值只有4种:字符串、数值(必须以十进制表示)、布尔值和Null(不能使用NaN,Infinify,-Infinify和undefined)
- 字符串必须使用双引号表示,不能使用单引号
- 对象的键名必须放在双引号里面
- 数组或对象最后一个成员的后面,不能有逗号
- 数值前不能加0
json对象:用于对json进行解析和序列化
JSON.parse() — 此方法接收一个JSON字符串,返回解析后的JavaScript对象,通常为Object或Array
JSON.stringify() — 此方法可接收一个JavaScript值转化为JSON字符串,此字符串可被JSON.parse()还原
正则表达式
一种表达文本模式的方法
新建正则 var telRegex = /^1[[3578]/d{9}$/;
正则对象方法
test() — 测试是否符合正则表达式,返回值为Boolean
exec()
闭包和变量作用域
JS有两种作用域:全局作用域和函数作用域,没有块级作用域
闭包:只有函数内部的子函数才能读取内部变量
闭包最大特点:’记住’诞生的权限
闭包的两个最大作用:
- 读取函数内部的变量
- 封装对象的私有属性和私有方法
JS的运算符,严格相等===和相等==
严格相等要求类型一样,比较过程不执行类型转换,推荐使用严格相等(===)
原创文章,作者:奋斗,如若转载,请注明出处:https://blog.ytso.com/13166.html