js--数据系统内置功能

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


1.字符串方法

anchor()    创建 HTML 锚。

big()   用大号字体显示字符串。

blink() 显示闪动字符串。

bold()  使用粗体显示字符串。

charAt()    返回在指定位置的字符。

charCodeAt()    返回在指定的位置的字符的 Unicode 编码。

concat()    连接字符串。

fixed() 以打字机文本显示字符串。

fontcolor() 使用指定的颜色来显示字符串。

fontsize()  使用指定的尺寸来显示字符串。

fromCharCode()  从字符编码创建一个字符串。

indexOf()   检索字符串。

italics()   使用斜体显示字符串。

lastIndexOf()   从后向前搜索字符串。

link()  将字符串显示为链接。

localeCompare() 用本地特定的顺序来比较两个字符串。

match() 找到一个或多个正则表达式的匹配。

replace()   替换与正则表达式匹配的子串。

search()    检索与正则表达式相匹配的值。

slice() 提取字符串的片断,并在新的字符串中返回被提取的部分。

small() 使用小字号来显示字符串。

split() 把字符串分割为字符串数组。

strike()    使用删除线来显示字符串。

sub()   把字符串显示为下标。

substr()    从起始索引号提取字符串中指定数目的字符。

substring() 提取字符串中两个指定的索引号之间的字符。

sup()   把字符串显示为上标。

toLocaleLowerCase() 把字符串转换为小写。

toLocaleUpperCase() 把字符串转换为大写。

toLowerCase()   把字符串转换为小写。

toUpperCase()   把字符串转换为大写。

toSource()  代表对象的源代码。

toString()  返回字符串。

valueOf()   返回某个字符串对象的原始值。

2.数组对象方法

concat()    连接两个或更多的数组,并返回结果。

join()  把数组的所有元素放入一个字符串。元素通过指定的分隔符进行分隔。

pop()   删除并返回数组的最后一个元素

push()  向数组的末尾添加一个或更多元素,并返回新的长度。

reverse()   颠倒数组中元素的顺序。

shift() 删除并返回数组的第一个元素

slice() 从某个已有的数组返回选定的元素

sort()  对数组的元素进行排序

splice()    删除元素,并向数组添加新元素。

toSource()  返回该对象的源代码。

toString()  把数组转换为字符串,并返回结果。

toLocaleString()    把数组转换为本地数组,并返回结果。

unshift()   向数组的开头添加一个或更多元素,并返回新的长度。

valueOf()   返回数组对象的原始值

3.时间方法

Date()  返回当日的日期和时间。

getDate()   从 Date 对象返回一个月中的某一天 (1 ~ 31)。

getDay()    从 Date 对象返回一周中的某一天 (0 ~ 6)。

getMonth()  从 Date 对象返回月份 (0 ~ 11)。

getFullYear()   从 Date 对象以四位数字返回年份。

getYear()   请使用 getFullYear() 方法代替。

getHours()  返回 Date 对象的小时 (0 ~ 23)。

getMinutes()    返回 Date 对象的分钟 (0 ~ 59)。

getSeconds()    返回 Date 对象的秒数 (0 ~ 59)。

getMilliseconds()   返回 Date 对象的毫秒(0 ~ 999)。

getTime()   返回 1970 年 1 月 1 日至今的毫秒数。

getTimezoneOffset() 返回本地时间与格林威治标准时间 (GMT) 的分钟差。

getUTCDate()    根据世界时从 Date 对象返回月中的一天 (1 ~ 31)。

getUTCDay() 根据世界时从 Date 对象返回周中的一天 (0 ~ 6)。

getUTCMonth()   根据世界时从 Date 对象返回月份 (0 ~ 11)。

getUTCFullYear()    根据世界时从 Date 对象返回四位数的年份。

getUTCHours()   根据世界时返回 Date 对象的小时 (0 ~ 23)。

getUTCMinutes() 根据世界时返回 Date 对象的分钟 (0 ~ 59)。

getUTCSeconds() 根据世界时返回 Date 对象的秒钟 (0 ~ 59)。

getUTCMilliseconds()    根据世界时返回 Date 对象的毫秒(0 ~ 999)。

parse() 返回1970年1月1日午夜到指定日期(字符串)的毫秒数。

setDate()   设置 Date 对象中月的某一天 (1 ~ 31)。

setMonth()  设置 Date 对象中月份 (0 ~ 11)。

setFullYear()   设置 Date 对象中的年份(四位数字)。

setYear()   请使用 setFullYear() 方法代替。

setHours()  设置 Date 对象中的小时 (0 ~ 23)。

setMinutes()    设置 Date 对象中的分钟 (0 ~ 59)。

setSeconds()    设置 Date 对象中的秒钟 (0 ~ 59)。

setMilliseconds()   设置 Date 对象中的毫秒 (0 ~ 999)。

setTime()   以毫秒设置 Date 对象。

setUTCDate()    根据世界时设置 Date 对象中月份的一天 (1 ~ 31)。

setUTCMonth()   根据世界时设置 Date 对象中的月份 (0 ~ 11)。

setUTCFullYear()    根据世界时设置 Date 对象中的年份(四位数字)。

setUTCHours()   根据世界时设置 Date 对象中的小时 (0 ~ 23)。

setUTCMinutes() 根据世界时设置 Date 对象中的分钟 (0 ~ 59)。

setUTCSeconds() 根据世界时设置 Date 对象中的秒钟 (0 ~ 59)。

setUTCMilliseconds()    根据世界时设置 Date 对象中的毫秒 (0 ~ 999)。

toSource()  返回该对象的源代码。

toString()  把 Date 对象转换为字符串。

toTimeString()  把 Date 对象的时间部分转换为字符串。

toDateString()  把 Date 对象的日期部分转换为字符串。

toGMTString()   请使用 toUTCString() 方法代替。

toUTCString()   根据世界时,把 Date 对象转换为字符串。

toLocaleString()    根据本地时间格式,把 Date 对象转换为字符串。

toLocaleTimeString()    根据本地时间格式,把 Date 对象的时间部分转换为字符串。

toLocaleDateString()    根据本地时间格式,把 Date 对象的日期部分转换为字符串。

UTC()   根据世界时返回 1970 年 1 月 1 日 到指定日期的毫秒数。

valueOf()   返回 Date 对象的原始值。

4.Math

E           返回算术常量 e,即自然对数的底数(约等于2.718)。

LN2         返回 2 的自然对数(约等于0.693)。

LN10        返回 10 的自然对数(约等于2.302)。

LOG2E       返回以 2 为底的 e 的对数(约等于 1.414)。

LOG10E      返回以 10 为底的 e 的对数(约等于0.434)。

PI(必学)  返回圆周率(约等于3.14159)。

//console.log(Math.PI)

SQRT1_2     返回返回 2 的平方根的倒数(约等于 0.707)。

SQRT2       返回 2 的平方根(约等于 1.414)。   

方法:

abs(x)          返回数的绝对值。

acos(x)         返回数的反余弦值。

asin(x)         返回数的反正弦值。

atan(x)         以介于 -PI/2 与 PI/2 弧度之间的数值来返回 x 的反正切值。

atan2(y,x)      返回从 x 轴到点 (x,y) 的角度(介于 -PI/2 与 PI/2 弧度之间)。

ceil(x)(必学) 对数进行上舍入。

floor(x)(必学)    对数进行下舍入。

round(x)(必学)    把数四舍五入为最接近的整数。

cos(x)(必学)  返回数的余弦。

sin(x)(必学)  返回数的正弦。

exp(x)          返回 e 的指数。

log(x)          返回数的自然对数(底为e)。

max(x,y)(必学)    返回 x 和 y 中的最高值。

min(x,y)(必学)    返回 x 和 y 中的最低值。

pow(x,y)        返回 x 的 y 次幂。

random()(必学)    返回 0 ~ 1 之间的随机数。

sqrt(x)         返回数的平方根。

tan(x)          返回角的正切。

toSource()      返回该对象的源代码。

valueOf()       返回 Math 对象的原始值。

5.遍历器

(1)for 循环

for 循环是 Js 中最常用的一个循环工具, 经常用于数组的循环遍历。

(2)for in 循环

        for in 循环主要用于遍历普通对象, i 代表对象的 key 值, obj[i] 代表对应的 value, 当用它来遍历数组时候, 多数情况下也能达到同样的效果, 但是你不要这么做, 这是有风险的, 因为 i 输出为字符串形式, 而不是数组需要的数字下标, 这意味着在某些情况下, 会发生字符串运算, 导致数据错误, 比如: '52' +1 = '521' 而不是我们需要的 53。另外for in 循环的时候, 不仅遍历自身的属性, 还会找到 prototype 上去, 所以最好在循环体内加一个判断, 就用 obj[i].hasOwnProperty(i), 这样就避免遍历出太多不需要的属性。

        let obj = {
                name: 'zhou',
                age: '**'

            }

            for (let i in obj) {
                console.log(i, obj[i])

            }

(3)while 循环同样的遍历 cars 数组, 先用for 循环方法、然后是while 循环方法

        发现, 它们可以实现同样的效果, 事实上它们底层的处理是一样的, 不过for 循环可以把定义、 条件判断、 自增自减操作放到一个条件里执行, 代码看起来方便一些, 仅此而已。

let cars = ["BMW", "Volvo", "Saab", "Ford"];
			let i = 0;
			for (; cars[i];) {
				console.log(cars[i])
				i++;
			};



cars = ["BMW", "Volvo", "Saab", "Ford"];
			var i = 0;
			while (cars[i]) {
				console.log(cars[i] + "<br>")
				i++;
			};

(4) do-while 循环

        do-while 循环是while循环的一个变体, 它首先执行一次操作, 然后才进行条件判断, 是 true 的话再继续执行操作, 是 false 的话循环结束。

(5)Array forEach 循环

        forEach循环, 循环数组中每一个元素并采取操作, 没有返回值, 可以不用知道数组长度, 他有三个参数, 只有第一个是必需的, 代表当前下标下的 value。另外请注意, forEach 循环在所有元素调用完毕之前是不能停止的, 它没有break 语句, 如果你必须要停止, 可以尝试try-catch 语句, 就是在要强制退出的时候, 抛出一个 error 给catch 捕捉到, 然后在catch 里面return, 这样就能中止循环了, 如果你经常用这个方法, 最好自定义一个这样的 forEach 函数在你的库里。

            let arr = [1, 2, 3];
			arr.forEach(function(i, index) {
				console.log(i, index)
			})

(6) Array map() 方法

        map() 方法返回一个新数组, 数组中的元素为原始数组元素调用函数处理后的值。注意: map 和 forEach 方法都是只能用来遍历数组, 不能用来遍历普通对象。

            let arr = [1, 2, 3];
			let tt = arr.map(function(i) {
				console.log(i)
				return i * 2;
			})

(7)Array filter() 方法

        filter 方法是 Array 对象内置方法, 它会返回通过过滤的元素, 不改变原来的数组。

            let arr = [1, 2, 3];
			let tt = arr.filter(function(i) {
				return i > 1;
			})

(8)Array some() 方法

        some() 方法用于检测数组中的元素是否满足指定条件( 函数提供), 返回 boolean 值, 不改变原数组。

            let arr = [1, 2, 3];
			let tt = arr.some(function(i) {
				return i > 1;
			})

(9) Array every() 方法

            let arr = [1, 2, 3];

            let tt = arr.some(function(i) {

                return i > 1;

            })

// 检测数组中元素是否都大于1

 // false

        every() 方法用于检测数组所有元素是否都符合指定条件( 通过函数提供), 返回 boolean 值, 不改变原数组。

            let arr = [1, 2, 3];
			let tt = arr.every(function(i) {
				return i > 1;
			})

(10) Array reduce() 方法

        reduce() 方法接收一个函数作为累加器, 数组中的每个值( 从左到右) 开始缩减, 最终计算为一个值。

	        let arr = [1, 2, 3];
			let ad = arr.reduce(function(i, j) {
				return i + j;
			})

(11)Array reduceRight() 方法

        reduceRight() 方法, 和 reduce() 功能是一样的, 它是从数组的末尾处向前开始计算。

            let arr = [1, 2, 3];
			let ad = arr.reduceRight(function(i, j) {
				return i + j;
			})

(12)for of 循环

        for of 循环是 Es6 中新增的语句, 用来替代

        for in 和 forEach, 它允许你遍历 Arrays( 数组), Strings( 字符串), Maps( 映射), Sets( 集合) 等可迭代(Iterable data) 的数据结构, 注意它的兼容性。


			let arr = ['name', 'age'];
			for (let i of arr) {
				console.log(i)
			}

6.对象成员检测

(1)instanceof()

        instanceof:判断该对象是否为另一个对象的实例。

例如:

        console.log(child instanceof Parent); //true

        console.log(child instanceof Child); //true  

(2)isPrototypeOf()

        isPrototypeOf:判断一个对象象是否为一个实例的原型。

例如:

        Parent.prototype.isPrototypeOf(child); //true

        Child.prototype.isPrototypeOf(child); //true2,

(3)hasOwnProperty()  

          hasOwnProperty:判断对象是否有某个特定的属性,(注意说的是对象的属性,而不是对象原型的属性)必须用字符串指定该属性。

例如:

             Parent.hasOwnProperty("name"); //true

            Child.hasOwnProperty("age"); //true

            Parent.hasOwnProperty("alertP"); //false

            Child.hasOwnProperty("alertC"); //false

(4)propertyIsEnumerable()

         propertyIsEnumerable():判断给定的属性是否可以用 for...in 语句进行枚举。由于 for ... in 枚举是包含原型链上的属性的,但propertyIsEnumerable作用于原型方法上时,始终是返回false的,你可以这么认为,for...in可以枚举对象本身的属性和原型上的属性,而propertyIsEnumerable只能判断本身的属性是否可以枚举。此外,预定义的属性不是可列举的,而用户定义的属性总是可列举的。所以如果你只想遍历对象本身的属性,可以:

例如:

        for (var key in obj) {

                if (obj.propertyIsEnumerable(key) {console.log(key)}

                }

7.Object静态方法

1.静态方法

静态方法就是直接使用类名调用的方法,比如Object.getOwnPropertyNames(obj),obj是一个对象,且静态方法是无法被子类继承或者实例对象拥有的,

2.Object类的静态方法

(1) Object.getPrototypeOf(obj) 获得obj的原型,也可以使用obj._ proto__属性获得obj的原型:

        可以看到对实例变量p使用getPrototypeOf方法可以得到Product.prototype,同时obj一般都是指实例对象,当然对类使用这个方法也可以,但得出的结果没有太大意义,可以自己试一试 Object.getPrototypeOf(Product) 。

(2) Object.getOwnPropertyNames(obj) 可以将obj的可枚举和不可枚举的属性的名称组成一个数组返回,

        实例对象有三个属性。注意只有直接在Product中定义的属性才会被列出来,并且必须是公共属性。

(3) Object.defineProperty(obj,propName,desc) 该方法可以为obj新增一个名为propName的属性,同时它的属性定义为desc,desc使用一个对象赋值,

(4) Object.create(proto,[props]) 以proto为原型,新建一个实例对象,同时将props定义的属性设置给这个新对象,以这种方式新建的对象都是Object类型,

        使用create方法新建一个实例对象o,它的父类是Product,它本身属于Object,同时设置size为只读属性。注意这种方式不是使用Product的构造函数新建的实例对象,所以o并没有name、desc等属性。

(5) Object.getOwnPropertyDescriptor(obj,propName) 返回obj的属性propName的属性描述符:

(6) Object.preventExtensions(obj) 可以禁止obj对象的属性扩展,

        例如:将实例对象o设置为不可扩展,那么即时给它一个新属性name没有报错,但这个name属性并没有添加到它的定义中。同时size属性的configurable如果设置为true的话,可以使用delete o.size 删除size属性。注意没有preventExtensible的反相操作。

(7) Object.seal(obj) 可以禁止obj对象的属性扩展和删除,

        它相对与preventExtensible方法而言 ,将所有属性的configurable属性设置为false。

(8) Object.freeze(obj) 可以禁止对obj的所有操作,它相对与preventExtensible方法而言,将属性的configurable属性和writable属性都设置为了false,

        例如:如上,实例对象o将不可扩展,属性不可删除,不可更改。

(9) Object.isExtensible(obj)、Object.isSealed(obj)、Object.isFrozen(obj) 分别对应了上述三个方法是否对obj进行了设置

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值