JavaScript的对象

在JavaScript中除了null和undefined以外其他的数据类型都被定义成了对象,也可以用创建对象的方法定义变量,String、Math、Array、Date、RegExp都是JavaScript中重要的内置对象,在JavaScript程序大多数功能都是基于对象实现的。
.toString()  变成str显示
 
一、String字符串对象
 
 1、字符串对象创建
       ① var 变量 = “字符串”
       ② 字串对象名称 = new String (字符串)
 
2、属性
 
x.length     长度 
x.toLowerCase()    全转为小写      和python一样,不改变x本身
x.toUperCase()      全转为大写      不改变x本身
x.trim()                去除两边空格    不改变x本身
 
关于查询
x.charAt(index)          获取指定位置的字符
x.indexof("aa",index)  查找x中"aa"的索引位置,没有则返回-1,index为查找的起始位置
x.lastIndexof("aa",index)  倒着查
 
x.match("aa")         返回匹配字符串的数组,如果没有匹配则返回null,(查找到第一个就不再查)
x.search("aa")         返回匹配字符串的首字符位置索引    (查找到第一个就不再查)
 
切片
x.substr(start,length)       start 开始位置,length截取长度
x.substring(start,end)      end结束位置
x.slice(start,end)             切片
 
x.replace("old","new")     替换   (不修改x本身)
x.split()                         分割字符串为数组
x.concat("str")                拼接字符串,可以有多个str参数(不修改x本身)
 
二、Array数组对象
 
1、创建的两种方式
        var arrname = [元素0,元素1,….];  
        var arrname = new Array(元素0,元素1,….);
 
2、属性和方法
 
arr.join("")      元素拼接成字符串  arr.join(",")   和python相反
 
arr.concat()    拼接数组,(不修改arr本身,和python不同)
例如:
var arr=[1,2,3]
var arr1=arr.concat(4,5)    arr1为[1,2,3,4,5]
 
arr.reverse()  颠倒数组(修改本身)
 
arr.sort()  排序,(修改本身)注意,是像字符串排序一样,按ASCII码排,从小到大
如果要把数字按大小排序,要按下面的
function  InSort(a,b){        /*定义1个函数,保证传进的两个值,a>b时返回1个正值,<时返回负值,=返回0*/
    return a-b;
}
arr.sort(InSort)       /*把自定义的函数传进去*/
 
arr.slice(start,end)  切片, 和python的一样
 
删除子数组
arr.splice(start,deleteCount,value1,value2..)   数组指定位置进行删除和插入
start:开始位置
deleteCount:要删除的个数
value:要在删除位置插入的元素  可省略
 
数组的push和pop,模拟栈操作
arr.push(value1,value2,..)   压栈
arr.pop( )                          弹栈  ,取出最后一个(即使里面传了索引值,也是取最后一个)
 
数组的shift和unshift
arr.unshift(value1,value2..)   在数组的开头插入值value1,value2
arr.shift()                            从开头取出1个值
      
三、Date对象
 
1、创建Date对象
 
toLocaleString:转换为本地时间
toUTCString:    转化为世界标准时间   
 
方法1:不指定参数,获取当前时间
var nowd1= new Date();
console.log (nowd1.toLocaleString());            //2017/11/9 下午7:11:17
 
方法2:参数为日期字符串
var nowd2 = new Date("2004/3/20 11:12");
console.log (nowd2.toLocaleString());            //2004/3/20 上午11:12:00
 
方法3:参数为年月日小时分钟秒毫秒
var nowd3 = new Date(2004,2,20,11,12,0,300);
console.log(nowd3.toLocaleString());            //2004/3/20 上午11:12:00
 
方法4:参数为毫秒数
var nowd4 = new Date(5000);
console.log(nowd4.toLocaleString());           //1970/1/1 上午8:00:05
console.log(nowd4.toUTCString());             //Thu, 01 Jan 1970 00:00:05 GMT
 
2、Date对象的方法—获取日期和时间
获取日期和时间
getDate()                  获取日
getDay ()                  获取星期
getMonth ()               获取月(0-11)
getFullYear ()            获取完整年份
getYear ()                 获取年
getHours ()               获取小时
getMinutes ()             获取分钟
getSeconds ()            获取秒
getMilliseconds ()       获取毫秒
getTime ()                返回累计毫秒数(从1970/1/1午夜)
 
3、设置日期和时间
setDate(day_of_month)      设置日
setMonth (month)              设置月
setFullYear (year)               设置年
setHours (hour)                  设置小时
setMinutes (minute)            设置分钟
setSeconds (second)           设置秒
setMillliseconds (ms)           设置毫秒(0-999)
setTime (allms)                  设置累计毫秒(从1970/1/1午夜)
 
4、日期和时间的转换
getTimezoneOffset():8个时区×15度×4分/度=480;
返回本地时间与GMT的时间差,以分钟为单位
 
toUTCString()   返回国际标准时间字符串
toLocalString()  返回本地格式时间字符串
Date.parse(x)    返回累计毫秒数(从1970/1/1午夜到本地时间)
Date.UTC(x)     返回累计毫秒数(从1970/1/1午夜到国际时间)
 
四、Math对象
 
Math本身就是一个对象,不需要再创建对象了
 
random()   返回 0 ~ 1 之间的随机数。
max(x,y)    返回 x 和 y 中的最高值。
min(x,y)    返回 x 和 y 中的最低值。
floor(x)      向下取整。
ceil(x)        向上取整。
round(x)    把数四舍五入为最接近的整数。
abs(x)        返回数的绝对值。
log(x)        返回数的自然对数(底为e)。
pow(x,y)    返回 x 的 y 次幂。
exp(x)        返回 e 的指数。
sin(x)        返回数的正弦。
sqrt(x)       返回数的平方根。
tan(x)        返回角的正切。
 
五、Function对象
 
函数属于引用类型
 
function 函数名 (参数){
    函数体;
    return 返回值;
}
 
或用 Function 类直接创建函数,如下:
var 函数名 =new Function("参数1","参数n","函数体")
例如:
var func2=new Function("name","alert(\'hello \'+name);");
func2('egon')
 
注意:js的函数加载执行与python不同,它是整体加载完才会执行,所以执行函数放在函数声明上面或下面都可以
 
2、函数的调用
参数怎么填都不报错
function func1(a,b){
    alert(a+b);
}
func1(1,2);          //3
func1(1,2,3);       //3
func1(1);             //NaN   b参数位置  值为undefined
func1();               //NaN
 
3、匿名函数
省去了定义函数名的过程,不用在内存中创建相关的对应关系
 
(function( ){
    console.log(x)
)  ("123")
 
4、内置对象arguments,收到的所有实参
在函数内部,是包含所有传进来的参数的一个数组
function add(x,y){
    console.log(arguments)            //[1,2,3]
    console.log(arguments.length)   //3
}
add(1,2,3)
 
可以用来计算所有传进来的参数的和
可以用来判断传进来的参数个数,是不是所需要的个数
 
 
 
 
 
 
 
 
 
 
 
 
posted @ 2017-11-12 20:55  唐宋元明卿  阅读(75)  评论(0编辑  收藏  举报