JS_8.对象

对象

包装类型指专门封装原始数据类型的数据,并提供对数据常用操作的内置引用类型; 包装类型使原始类型数据可以像引用类型一样拥有方法和属性;
JavaScript中包装类型有三个:String类型、Number类型、Boolean类型;
使用原始类型的数据调用方法或访问属性时,js引擎会自动创建对应的包装类型对象;
方法调用完会自动释放包装类型对象;

1.String

1.1 String概述

  1. 文本String
    String对象用于处理文本字符串;
    创建原始类型字符串变量:var price=String(180)或’180’;
    创建引用类型字符创对象:var price=new String(‘180’);
  2. 转义字符
    退格符\b 换行符\n 回车符\r 水平制表符\t 单引号\’ 双引号\" 反斜线\\ 两位十六进制数NN指定Latin-1字符\xNN 四位十六进制数NNNN指定的Unicode字符\uNNNN
  3. 字符串的用法
    JavaScript字符串内容不可变,String对象所有方法都会返回全新的对象,而不是修改原始字符串内容; s2=s1.toUpperCase();
    JavaScript 默认采用Unicode字符集,所以中文字符只算一个字符;

1.2 字符串常用操作

  1. 大小写转换方法
    1)toLowerCase()返回字符串的完全小写形式;
    obj1 = msg.toLowerCase();
    2)toUpperCase()返回字符串的完全大写形式;
    obj2 = msg.toUpperCase();
  2. 获取指定位置的字符
    1)charAt(index)用于获取指定下标处字符;
    msg.charAt(0);
    2)charCodeAt(index)用于获取指定下标处字符的Unicode码;String.fromCharCode()用于将字符编码转换为对应字符
  3. 检索字符串
    1)indexOf(value, [fromIndex])返回第一次出现指定子串的下标,若不存在则返回-1;参数分别为检索的值以及开始检索的下标;
    2)lastIndexOf(value, [fromIndex])返回最后一次出现指定子串的下标;参数设置同上,指定开始检索的下标后,从该下标开始返回;
  4. 截取子字符串
    1)slice(start, end):返回从start到end-1范围内的子串;
    2)substring(start, end):参数设置同上
    3)substr(start, count):第二个参数表示要截取的长度;
    区别:slice中start如果为负,从尾部算起,end必须为负数,且大于start,否则返回空字符串;end如果为负绝对值超过原字符串长度返回空字符串;substring会取较小值为start,二者相等返回空字符串,参数为负被替换为0;
  5. 分隔字符串
    split(seperator, [count])使用指定分隔符拆分字符串;seperator是指定分隔符,count表示结果集元素个数。
    var arr1= data.split();//
  6. 连接字符串
    concat(str1, str2, … ,strn)用于拼接两个或多个字符串;
    str2 = str1.concat(‘BB’, 55);
  7. 获取任意Unicode码对应字符
    String.fromCharCode(index):将指定Unicode码转换成对应字符

1.3 模式匹配

  1. 修饰符
    1)i, ignoreCase,执行对大小写不敏感的匹配,/string/i;
    2)g,global,执行全局匹配(查找所有匹配而不会在第一次匹配后停止),/string/g;
    3)m,multiline,允许执行多行匹配,/^string$/m;
    修饰符可以组合应用,/is/igm

  2. 替换子字符串
    replace(substr/regexp, replacement)用指定字符替换特定的字符或替换与正则表达式匹配的子串,原始字符串内容不会改变;
    String对象没有.splice()方法,replace()方法不会改变原字符串,返回改变后的string类型数据,可用于删除string对象字符

    var data='Microsoft is a big Company,microsoft';
    console.log (data.replace('microsoft', 'oracle'));//替换microsoft
    console.log (data.replace(/microsoft/, 'oracle'));//替换microsoft
    console.log (data.replace(/microsoft/i, 'oracle'));//替换Microsoft
    console.log (data.replace(/microsoft/g, 'oracle'));//替换所有microsoft
    console.log (data.replace(/microsoft/ig, 'oracle'));//替换所有microsoft,不区分大小写
    
  3. 匹配
    match(value/regexp)方法在字符串内检索指定值或找到与正则表达式匹配的子串

    console.log(data.match('microsoft'));
    console.log(data.match(/microsoft/));
    console.log(data.match(/microsoft/i));
    //返回字符串数组['microsoft', index: 27, input: '输入的内容']
    console.log(data.match(/microsoft/g));
    console.log(data.match(/microsoft/ig));
    //返回字符串数组['检索到的指定字符串', '','']
    
  4. 查找
    search(regexp)方法用于检索字符串中指定子字符串,返回第一个与regexp相匹配的子串的起始位置;如果没有则返回-1;
    与indexOf(regexp, fromIndex)比较:
    1)indexOf()有可选参数,从第fromIndex开始检索;
    2)search()方法可以根据正则表达式查找;
    3)search方法不支持全局匹配//返回第一个

    console.log(data.search('Microsoft'));
    console.log(data.search(/microsoft/));
    console.log(data.search(/microsoft/i));
    

2. Math

2.1 Math对象

2.1.1 Math对象概述

Math对象是ECMAScript提供的全局对象,主要封装常用数学函数和常数;
Math对象没有构造函数,所以无法创建实例new Math();
直接使用Math对象名调用其属性和方法,Math.PI,Math.random();

2.1.2 Math对象属性

成员都是常量,用大写表示
E:自然对数的底数e,2.718;
LN2:2的自然对数,0.693;
LN10:10的自然对数,2.302;
LOG2E:以2为底e的对数,1.414;
LOG10E:以10为底e的对数,0.434;
PI:圆周率;
SQRT1_2:2的平方根的倒数,0.707;
SQRT2:2的平方根,1.414;

2.1.3 Math对象方法

abs(x):返回数的绝对值;
ceil(x):数向上取整;
floor(x):数向下取整;
round(x):四舍五入取整;
exp(x):返回e的指数;
log(x):返回数的自然对数;
pow(x,y):返回x的y次幂;
sqrt(x):返回数的平方根;
max(x,y,…):返回最大值;
min(x,y,…):返回最小值;

2.1.4 三角函数

sin(x):正弦
cos(x):余弦
tan(x):正切
asin(x):反正弦
acos(x):反余弦
atan(x):反正切
atan2(x,y):从x正半轴到点(x,y)的角度

2.1.5 随机数

random():返回0~1之间的随机数,使用parseInt()取整;

3 Date

3.1 Date对象

复制引用类型对象不要直接使用’=’,时间对象date = new Date(time_name);

3.1.1 创建Date对象

Date对象用于对日期和时间进行存储和计算;
//只有d4是string类型,其他都是引用对象object类型;
1)使用指定年月日[时分秒]
var d1=new Date(2000, 3, 23 , 20, 42, 32);//月份是0-11
var d2 = new Date(‘2000/3/23’);//把string转换为Date
2)初始化为系统时间
var d3 = new Date();
var d4 = new Date;
var d5 = Date();
3)初始化为距离计算机元年指定毫秒数的时间
var d6 = new Date(0);
var d7 = new Date(1000* 3600 * 24* 365);

3.1.2 获取时间信息

Date对象包含的获取时间的方法(只有日期从1开始)
getDay(),0~6,0表示星期天
getMonth(),月份,0~11
getDate(),日期1~31
getFullYear()
getHours()
getMinutes()
getSeconds()
getMilliseconds()
getTime(),返回Date对象与UTC时间1970.1.1之间的毫秒数;
getTimezoneOffset(),返回本地时间与标准时间的分钟差;

3.1.3 修改时间信息

setMonth(),表示将Date对象月份更改后返回与UTC时间1970.1.1之间的毫秒数;
setDate()
setMonth()
setFullYear()
setHours()
setMinutes()
setSeconds()
setMilliseconds()
setTime(),以毫秒设置Date对象
两个时间格式数据相减,返回两者之间相差毫秒数;

3.1.4 时间格式转换

toString(),返回Date对象的字符串形式
toDateString(),返回Date对象日期部分字符串形式
toTimeString(),返回Date对象时间部分字符串形式
toLocaleString(),基于本地时间格式,返回Date对象字符串形式
toLocaleDateString(),
toLacaleTimeString(),
toGMTString(),基于GMT时间格式返回Date对象字符串形式
toUTCString(),基于UTC时间格式返回Date对象字符串形式

4 Number

4.1 Number对象

Number对象表示数值数据和数字常数,主要用于对数字进行指定格式的输出

4.1.1 创建Number对象

构造新的Number对象——引用类型的变量,默认值为0
var num1 = new Number(“3.5”); //[Number: 3.5]
将数据转换为Number数据类型——值类型的变量
var num2 = Number(“3.5”);//3.5

4.1.2 Number对象属性

Number对象具有以下静态常量属性
MAX_VALUE:JS可表示的最大数值
MIN_VALUE:JS可表示的最小数值
NaN:非数字
NEGATIVE_INFINITY:负无穷,数据溢出时返回
POSITIVE_INFINITY:正无穷,数据溢出时返回

4.1.3 Number对象方法

toExponential(),转换为具有指定小数位数的指数计数法表示的字符串
toFixed(),转换为具有指定小数位数的定点表示法表示的字符串
toPrecision(),数字格式化为具有指定有效位数的字符串
toString(),把数字转换为指定进制表示的字符串

5 Boolean

5.1 Boolean对象

Boolean对象表示一个布尔值对象(0/1)
只有以下值为false:false 、0、null、undefined、NaN、""、0.0
构造新的Boolean对象——引用类型对象object
var b= new Boolean();//默认值[Boolean: false]
将数据转换为bool数据类型——值类型的变量
var b= Boolean();//默认值false
Boolean([]),对数组和对象使用布尔函数返回值为真;
!!强制转换为布尔型

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值