包装器数据类型
基本数据类型
var str = '123'
Number(str)
var str = 'hello'
String
str.replace()
Boolean,Number,不建议直接使用这两种包装器类型
String 类型
length 获取字符串的长度
charAt() 获取指定位置的字符
charCodeAt() 获取指定位置的字符的字符编码
var s = "helloworld";
s.charAt(1); //e
s.charCodeAt(1); //101
indexOf() 获取指定字符的索引,从前往后查找
lastIndexOf() 获取指定字符的索引,从后往前查找
concat() 将一个或多个字符串拼接起来,返回拼接得到的新字符串,但是大多使用"+"拼接
slice() 截取字符串,(起始位置,结束位置),包含起始位置的值,但不包含结束位置的值,返回截取到的字符串,不改变原先的字符串
substr() 截取字符串,(开始位置,截取的个数),返回截取到的新字符串
substring() 字符串的截取,(开始位置,结束位置),包含开始位置,不包含结束位置,返回截取到的新字符串
trim() 删除前面和后面的空格,返回删除空格后的字符串
toLowerCase() 将字符串转化为小写
toUpperCase() 将字符串转化为大写
引用数据类型
Math对象
比较方法
Math.min() 求一组数中的最小值
Math.max() 求一组数中的最大值
Math.min(1,2,19,8,6); //1
将小数值舍入为整数的几个方法
Math.ceil() 向上舍入
Math.floor() 向下舍入
Math.round() 四舍五入
Math.ceil(12.41); //13 Math.floor(12.41); //12
Math.round(12.3); //12 Math.round(12.5); //13
随机数
Math.random() 返回大于0小于1的一个随机数 [0,1)
其他方法:(了解即可,即用即查)
abs(num) 返回num绝对值
exp(num) 返回Math.E的num次幂
log(num) 返回num的自然对数
pow(num,power) 返回num的power次幂
sqrt(num) 返回num的平方根
scos(x) 返回x的反余弦值
asin(x) 返回x的反正弦值
atan(x) 返回x的反正切值
atan2(y,x) 返回y/x的反正切值
cos(x) 返回x的余弦值
sin(x) 返回x的正弦值
tan(x) 返回x的正切值
Date对象(时间)
时间戳:指格林威治时间1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒)起至现在的总秒数。
通俗的讲, 时间戳是一份能够表示一份数据在一个特定时间点已经存在的完整的可验证的数据。
Date的方法
getFullYear() 返回年份
getYear() 返回Date对象中的年份值减去1900
getMonth() 返回日期中的月份数,1月份返回是0,12月返回是11
getDate() 返回是日期对象中的几号
getHours() 返回日期中的小时,几点了,0-23
getMinutes() 返回日期中的分钟数 0-59
getSeconds() 返回一个日期的秒数
getDay() 返回日期中的星期几 星期天0-星期六6
getMilliseconds() 返回日期中的毫秒数
getTime() 将一个日期对象以毫秒形式返回
Date.now() 静态方法,获取当前时间的毫秒数
第三方库 moment.js
1.下载
2.引用
3.查文档使用
第三方库 loadsh
1.下载
2.引用
3.查文档使用
深入理解对象
创建对象
1)工厂函数(工厂模式) function(工厂)(name,age,job)
var o = {
name:'tom,
age:12,
sayName:function(){
console.log(this.name)
}
}
function createPerson(name,age,job){
var o = new Object() //新建对象
o.name = name //给对象添加属性
o.age = age
o.job = job //函数体
return o //返回值
}
createPerson('tom',12,'IT') //{name:'tom',age:12,job:'IT'}
2)构造函数(Object(),Array(),RegExp())
Object()
Array()
RegExp()
js可以自定义构造函数
Person()
var p1 = new Person()
function Person(name,age,job){
this.name = name
this.age = age
this.job = job
}
var o =new Person('tom',12,'IT') //{name:'tom',age:12,job:'IT'}
1.创建一个对象o
2.将this指向o
3.执行构造函数中的代码
4.返回新对象
Object() Object 原型(方法和属性)
var p1 = new Object()
Array 原型(方法和属性)
var arr = new Array()
3)原型
每一个函数都具有一个原型(prototype原型对象)
function Person(){}
Person.prototype.name = 'tom'
Person.prototype.sayHello = function(){}
var o = new Person() //{} o.name = 'tom' o.sayHello()
继承
1)原型链继承
通过将子对象的原型对象指向父对象的一个实例来完成继承
Animal Dog
Dog.prototype = new Animal();
Dog.prototype.constructor = Dog
Animal.prototype.sayColor = function(){console.log('灰色')}
var dog = new Dog()
dog.sayColor() //灰色
2)经典继承
借用构造函数
function Animal(){
Animal.prototype.sayName = function(){}
this.name = name
this.sayName = function(){}
}
function Dog(){
Animal.call(this,name) //产生了继承
Dog.prototype.sayColor = function(){}
}
var dog = new Dog()
3)组合继承(原型链继承+经典继承)