对象


1.内置对象

js中的对象分为4种:内置对象、浏览器对象、自定义对象、DOM对象。

js提供多个内置对象:Math/Array/Number/String/Boolean...

对象只是带有属性和方法的特殊数据类型。

(1)如何学习一个方法

方法的功能、参数的意义和类型、返回值意义和类型、demo进行测试

2.Math对象

Math对象不是构造函数,它具有数学常数和函数的属性和方法,都以静态成员的方式提供

数学相关的运算来找Math种的成员

 

常用的属性

Math.PI 圆周率

Math.      生成随机数
 Math.floor()         向下取整

Math.ceil()            向上取整
Math.round()        取整,四舍五入
Math.abs()           绝对值
Math.max()          最大值 

Math.min()           最小值  

Math.sin()            正弦

Math.cos()           余 弦

Math.pow()          求指数次幂

Math.sqrt()           求平方根

 

 

Date对象


创建date实例是用来处理时间和日期的。到毫秒

创建日期对象

Date()是构造函数

var date = new Date();

获取到的是1970年1月1日至今的毫秒数

 

日期值

getTime():获取1970年1月1日至今的毫秒数

valueOf();原始值,获取1970年1月1日至今的毫秒数 

 

    getMilliseconds() // 毫秒!
    getSeconds()  // 返回0-59
    getMinutes()  // 返回0-59
    getHours()    // 返回0-23
    getDay()      // 返回星期几 0周日   6周6
    getDate()     // 返回当前月的第几天
    getMonth()    // 返回月份,***从0开始***
    getFullYear()  //返回4位的年份  如 2016

 

注意: 月份是从0开始的,0-11

            星期是从周日开始的 周日为0 然后1 .2 .3 .4 .5 .6

 

 

Array对象

创建数组对象的两种方式

 

1.字面量方式

2.new Array()

 

检测一个对象是否是数组

instanceof  如果返回true就是数组,false是非数组

Array.isArray()如果返回true就是数组,false是非数组

valueOf() 返回数组对象本身

 

 

栈操作(先进后出)

 

    push()  添加元素
    pop()   删除元素

 

 队列操作(先进先出)

  shift()   删除元素
       unshift() 添加元素

 

排序方法

reverse() 翻转数组

 

 

操作方法

concat()    把参数拼接到当前数组、 或者用于连接两个或多个数组

slice(start,end)    

从start开始截取元素,到end结束,包括start,不包括end,返回新数组,start,end是索引。会改变原始数组

splice()    1、从start开始截取元素,截取length个,,返回新数组,start是索引,length是个数

会改变元素的数组

 

 

 

位置方法

indexOf()        都是找位置 返回索引值 没有找到返回 -1,第一次出现位置

lastIndexOf()   如果没找到返回-1,元素最后一次出现的位置

上述方法只是查找顺序不一样 结果都是索引值

 

 

数组迭代方法

迭代的意思就是(不停的代换)

1.forEach()方法是用于调用数组的每个元素,并将元素传递给回调函数

可以拿到每个数组中的值,没有返回值

 

array.forEach(function(currentValue, index))

currentValue  必需。当前元素

Index   可选。当前元素索引值

 

 

2、every() some()方法用于检测数组所有元素是否都符合指定条件(通过函数提供)。

 

some(),every()方法的参数是一个回调函数,回调函数中的第一个参数是数组的元素,

第二个参数是数组的索引

some(),every()方法都会返回新的数组

 

公式: var flag1 = arr3.every(function (value, index) {

                return value > 55;

})

            console.log(flag1);

       var flag2 = arr3.some(function (value, index) {

       return value >= 88;

  })

   console.log(flag2)

 

every():判断回调函数中的表达式是否全部满足,如果满足,返回值就是true,只要有一个不满足就是false

some判断回调函数中的表达式是否有一个满足,如果至少一个满足,返回值就是true

 

 

3、filter ()与map ()

filter()根据指定条件过滤元素,返回新数组 ;

map()数根据数学运算,返回新数组

 

filter():根据指定条件过滤元素,返回新数组

  var new1 = arr.filter(function (value, index) {

    return value >= 33;

  })

  console.log(new1);

  map():根据数学运算,返回新数组

  var new2 = arr.map(function (value, index) {

    return Math.pow(value, 2);

  })

 

清空数组


1.arr = [ ](注释。里面是空的)

2.arr.length =0

3.arr.splice(0,arr.length)

 

 

数组转化字符串

join()数组转化为字符串,以参数分割

 

基本包装类型

 

为了方便操作基本数据类型,JavaScript还提供了三个特殊引用类型String/Number/Boolean

 

下面代码的问题?
s1是基本类型,基本类型是没有方法来操作的
var s1 = 'zhangsan';
var s2 = s1.substring(5);

当调用s1.substring(5)的时候,先把s1包装成String类型的临时对象,再调用substring方法,最后销毁临时对象, 相当于:
var s1 = new String('zhangsan');
var s2 = s1.substring(5);
s1 = null;


创建基本包装类型的对象
var num = 18;               数值,基本类型
var num = Number('18');     类型转换
var num = new Number(18);   基本包装类型,对象
Number和Boolean基本包装类型基本不用,使用的话可能会引起歧义。例如:
var b1 = new Boolean(false);
var b2 = b1 && true;        结果是什么

 

String 对象

字符串的不可变

 

var str = 'abc';
str = 'hello';
当重新给str赋值的时候,常量'abc'不会被修改,依然在内存中
重新给字符串赋值,会重新在内存中开辟空间,这个特点就是字符串的不可变
由于字符串的不可变,在大量拼接字符串的时候会有效率问题

 

创建字符串对象

 

字符串所有的方法,都不会修改字符串本身(字符串是不可变的),操作完成会返回一个新的字符串

1 字符方法
    charAt()        //获取指定位置处字符
    charCodeAt()    //获取指定位置处字符的ASCII码
    str[0]          //HTML5,IE8+支持 和charAt()等效
    2 字符串操作方法
    concat()        //拼接字符串,等效于+,+更常用
    slice(start,end)         //从start位置开始,截取到end位置,end取不到
    substring(start,end)     //从start位置开始,截取到end位置,end取不到
    substr(start,length)        //// 从start位置开始,截取length个字符
    indexOf()       //返回指定内容在元字符串中的位置,,如果没有,返回-1;(从前往后,检索到第一个就结束)
    lastIndexOf()   //返回指定内容在元字符串中的位置,,如果没有,返回-1;(从后往前,检索到第一个就结束)
    trim()          //只能去除字符串前后的空白
    大小写转换方法
    toUpperCase()   //转换大写
    toLowerCase()   //转换小写
    search()//方法用于检索字符串中指定的子字符串,返回子字符串的起始位置
    replace(old,new) //替换字符串替换字符串 new替换old
    split() //分割字符串 返回的是一个数组。。数组的元素就是以参数的分割的

 

 

 

 

 

 

 

 

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM