JavaScript学习笔记(4):操作基本数据

对象=属性+方法;

在面向对象的编程中,一般都不能直接使用原本就有的对象。因为对象需要保留自己的数据。所以在使用、处理对象时,需要给原始数据先创建一个“副本”,防止数据发生冲突。这个创建副本并赋予实际操作的数据的行为,叫实例化。

使用new运算符进行实例化:

var 变量名=new 对象名([参数……])

调用属性/方法:

变量名.方法名(参数[…]); 或者

变量名.属性名[=设定值];

不生成实例(副本)就可以直接使用的例外情况:静态属性/静态方法。

对象名.方法名(参数[]);

对象名.属性名.[=设定值];

**内置对象:

Object: 提供成为所有对象的雏形的功能;

Array: 提供给用来操作数组的手段;

Map/WeakMap: 提供操作由键/值组成的关联数组的手段;

Set/WeakSet: 提供管理唯一值的集合手段;

String: 提供用来操作字符串的手段;

Boolean: 提供操作逻辑值的手段;

Number: 提供用来操作数字的手段;

Function: 提供用来操作函数的手段;

Symbol: 提供用来操作Symbol的手段;

Math: 提供执行数学计算的手段;

Date: 提供操作日期的手段;

RegExp: 提供正则表达式相关功能;

Error/XxxxxError: 管理错误信息;

Proxy: 提供自定义对象行为的手段;

Promise: 提供用来实现异步处理的手段;

以上相当于JavaScript的内置公式。在执行一些复杂操作时,套用公式可以提高效率。

基本数据类型不使用 new 运算符。(object、Array、String、Bolean、Number、Symbol)以免代码过于冗余。

**包装对象:有点像Java里面的package、打包好的公式。

操作字符

分类成员概述
检索(查找)indexOf(subtr[,start])从字符串前方(第start+1个字符)开始检索子字符串substr
lastIndexOf(substr[,start])从字符串的后方(第start+1个字符)开始检索子字符串substr
startsWith(search[,pos])字符串是否为指定的子字符串search开头(参数pos是检索开始位置)
endsWith(search[,pos])        字符串是否为指定的子字符串search结束
includes(search[,pos])字符串是否包含指定的字符串search
部分文字列

        charAt(n)

获取第n+1个字符(和数组一样第一个为0)
slice(start[,end])从字符串中提取start+1~end的字符
substring(start[,end])从字符串中提取start+1~end的字符
substr(start[,cnt])从字符串中从第start+1个字符开始提取cnt个字符
split(str[,limit])使用分隔字符串str分割字符串,并以数组获取其结果(参数limit是最大分割数)
正则表达式match(reg)使用正则表达式检索字符串,并获取匹配的子字符串
replace(reg,rep)使用正则表达式检索字符串,并将匹配的部分替换为子字符串rep
search(reg)使用正则表达式检索字符串,获取第一个匹配字符的位置

大文字<=>

小文字

toLowerCase()转换为小写
toUpperCase()转换为大写
编码转换        charCodeAt(n)将第n+1个字符串转换为Latin-1编码
*fromCharCode(c1,c2...)将Latin-1编码c1,c2...转换为字符
codePointAt(n)将第n+1个字符转换为UTF-16的码点值
*fromCodePoint(num,...)根据点码值生成字符串
其他concat()       在字符串的后方连接字符串
repeat(num)获取重复num次字符串的新字符串
trim()删除字符串前后的空白
length获取字符串的长度

*是静态方法

String方法中,有substring、slice、substr3种方法用于从原始字符串中提取子字符串。

其中substring、slice和substr差异如下:

substring/slice方法        使用开始位置-结束位置设置要提取部分;

substr                              使用开始位置的字符个数设置要提取的部分;

操作数字

分类成员概述
属性*MAX_VALUENumber可以表示最大值
*MAX_SAFE_INTEGERNumber可以安全地表示最大值
*MIN_VALUENumber可以表示最小值
*MIN_SAFE_INTEGERNumber可以安全地表示最小值
*EPSILON1和Number可以表示的比1大的最小值的差
NaN不是数字(not a number)
*NEGATIVE_INFINITY负无穷
*POSITIVE_INFINITY正无穷
方法toString(rad)转换为rad进制数的值(rad是2~36)
toExponential(dec)转换为指数形式(dec是小数点以下的位数)
toFixed(dec)在小数点第dec位四舍五入
toPrecision(dec)转换为指定的位数(位数不够时补0)
*isNaN(num)判断是否NaN
*isFinite(num)判断是否有限值
*isInteger(num)判断是否为整数值int
*isSafeInteger(num)判断是否Safe—integer
*parseFloat(str)

将字符串转换为浮点数

*parseInt(str[,radix])将字符串转换为整数(参数radix是基数)

执行基本的数学运算——Math对象

分类成员概述
基本abs(num)        绝对值
clz(num)32无符号整形数字的二进制开头的0的个数
max(num1,num2...)最大值
min(num1,num2...)最小值
pow(base,p)幂运算(基数(base)的(p)次方
random()0~1随机数

sign(num)

判断正负,正=1;负=-1;0=0;
进位/舍去ceil(num)向上取整
floor(num)向下取整
round(num)四舍五入
trunc(num)去尾法
平方根*SQRT1_21/2的平方根
*SQRT22的平方根
sqrt(num)平方根
cbrt(num)

立方根

hypot(x1,x2,...)参数的平方和的平方根
三角函数*PI圆周率
cos()/sin()/tan()/cos/sin/tan 括号里写对应的兀值,如0.3兀
acos()/asin()/atan()反函数
cosh()/sinh()/tanh()双曲三角函数函数值
acosh()/asinh()/atanh()双曲三角函数函数值
指/对数*E自然对数的底数
*LN22的自然对数

*LN10

10的自然对数
*LOG2E以2为底数,e的对数
*LOG10E以10为底数,e的对数
log(num)自然对数
log10(num)以10为底数的对数
log2(num)以2为底的自然对数
log1(num)参数+1后的自然对数
exp(num)指数函数(e的累成)
expm1(num)e的num次方-1

*为只读

调用方法:

Math.方法名(参数);

反复调用一个对象时可以使用with语句,使代码更简洁

with(console){

log(Math.abs(-100);

log(Math.max(20,30,40);

log(Math.min(4,5,6);

}

但是:

代码块内的处理速度会下降;

代码由于with修饰的方法会变得不明确。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值