JavaScript 有点冷
JS基础剖析,并分离出使用场景高但不普通的知识点
小三轮儿
这个作者很懒,什么都没留下…
展开
-
JS标准库之Array
slice(start,end )提取目标数组的一部分数据,并以新数组返回,start与end含头不含尾,原数组保持不变. 如果省略参数,则返回原数组的拷贝.参数也可以是负数,表示倒数计算的位置.如果start大于等于数组长度,或者end小于start 则返回空数组.slice方法一个重要应用是将类数组的对象转换为真正的数组.Array.prototype.slice.call ( { 0:'a',1:'b' } ); // ['a','b']splice( )用于删除原数组的一部分成员,并原创 2020-11-20 11:01:21 · 110 阅读 · 0 评论 -
JavaScript 的运行上下文和执行栈
在这往篇译文中,将会深入探讨 JS 最基础的一部分:Excution Context ,目的是理解 JS 引擎的运行,为什么一些函数和变量可以在声明之前就可以使用,并且他们的值是怎么确定下来的。什么是运行上下文?js 代码执行的时候,运行环境尤为重要,一般被概括为以下三种:全局环境 : 代码第一次运行的默认环境函数环境 : 执行到函数体的时候Eval 环境 : eval 函数所执行的文本我们把术语 “运行上下文” 看成是当前代码所在的 “环境/作用域”。下面看一个包含全局和函数上下文的例子翻译 2020-08-06 18:12:50 · 196 阅读 · 0 评论 -
DOM-document-element-event
document节点对象代表整个文档,每张网页都有自己的document对象。window.document属性就指向这个对象。只要浏览器开始载入 HTML 文档,该对象就存在了,可以直接使用。document对象有不同的办法可以获取。正常的网页,直接使用document或window.document。iframe框架里面的网页,使用iframe节点的contentDocument属性。...原创 2019-12-12 10:27:06 · 187 阅读 · 0 评论 -
JS的面向对象浅析
与其它OOP语言 (C++ Java)不同,JS 中没有class 的概念, JS中的对象是以构造函数和原型链作为模板的.构造函数类似于普通的函数,但是有其特点,一般约定函数名首字母大写,函数体中有this, 带表生成的对象实例.生成对象时,必须使用 new 命令.New 命令基本用法new 命令的作用就是执行构造函数,返回一个实例对象.var Vehicle = function...原创 2019-12-08 21:12:29 · 116 阅读 · 0 评论 -
标准库之JSON对象
JSON格式每个JSON对象就是一个值,可能是一个数组或对象,也可能是一个原始类型的值,只能是一个值,不能是两个或更多的值.JSON 对值的类型和格式有严格的规定复合类型的值只能是数组或者对象,不能是函数/正则表达式对象/日期对象.原始类型的值只有四种: 字符串/数值(十进制)/布尔值和null,不能使用Nan , Infinity, -Infinity , undefin...原创 2019-12-06 22:01:26 · 113 阅读 · 0 评论 -
正则表达式与其匹配规则
字面量字符和元字符大部分字符在正则表达式中,就是字面的含义,比如 /a/ 匹配 a , 就像这种,字符只表示它字面的含义,那么它们就叫做”字面量字符”/dog/.test(‘old dog’) // true除了字面量字符以外,还有一部分字符有特殊含义,不代表字面的意思,被称为元字符,主要有以下几个:(1) 点字符 (.)点字符匹配 除了回车(\r) 换行(\n) 分隔符(\u202...原创 2019-12-05 11:03:41 · 1211 阅读 · 0 评论 -
标准库-Number/String
Number.prototype.toLocaleString( )接受一个地区码作为参数返回对应地书定形式的字符串,另外还接受第二个参数对象,这个对象的style属性指定输出样式,默认值是 decimal(123).toLocalString(‘zh-Hans-CN’,{style:percent}) //“12,300%”如果属性的值为currency,则可以搭配 currency 属性...原创 2019-12-05 11:02:40 · 78 阅读 · 0 评论 -
JS标准库之Array
slice(start,end )提取目标数组的一部分数据,并以新数组返回,start与end含头不含尾,原数组保持不变. 如果省略参数,则返回原数组的拷贝.参数也可以是负数,表示倒数计算的位置.如果start大于等于数组长度,或者end小于start 则返回空数组.slice方法一个重要应用是将类数组的对象转换为真正的数组.Array.prototype.slice.call ( { ...原创 2019-12-05 10:59:26 · 89 阅读 · 0 评论 -
标准库之Object对象
JS原生提供Object对象,它的原生方法分为两类:Object本身的方法与Object的实例方法.Object既可以当做普通方法用 Object(vars)目的是把vars转换为对象转换规则:如果参数是对象则原样返回,如果是原始类型,则转换为各自对应的包装对象.也可以当做构造方法使用 new Object();来生成新对象.用法与上面的普通方法调用相同.只不过语义不一样:Obje...原创 2019-12-05 10:49:20 · 256 阅读 · 0 评论 -
Js冷知识之函数与作用域
JavaScript中的作用域在Js中,只有两种作用域,全局作用域和函数作用域,ES6中又添加了块级作用域.对于顶层函数来说,函数外部声明的变量就是全局变量,可以在函数内部读取.函数执行时,所在的作用域,是定义时的作用域,而不是调用时所在的作用域.函数内部的变量提升与全局作用域一样,函数作用域内部也会产生变量提升的现象,var命令声明的变量不管在什么位置,声明都会被提升到函数体的头...原创 2019-12-05 10:48:15 · 109 阅读 · 0 评论 -
Js冷知识之数组
length属性JavaScript使用一个32位整数保存元素个数,也就是说,length属性的最大值是4294967295.只要是数组,就一定有length属性,它的值就是动态的,等于键名中最大的整数加上1.因为本质上,数组是一种特殊的对象,typeof 运算符会返回数组的类型是object 它的特殊性体现在它的键名是按次序排列的一组整数(0,1,2,...),数组成员的键名是固定的...原创 2019-12-05 10:46:47 · 124 阅读 · 0 评论 -
js冷知识之运算符
且运算符(&&)它往往用于多个表达式的求值,运算规则如下:如果第一个运算子的布尔值 为true,则返回第二个运算子的值(注意不是第二个运算子的布尔值);如果第一个运算子的布尔值为false ,则直接返回第一个运算子的值(注意也不是布尔值),不再对第二个运算子求值.异或运算有一个特殊运用,连续对两个数a 和 b进行三次异或运算,可以互换他们的值a^=b b^=a a^...原创 2019-12-05 10:45:22 · 123 阅读 · 0 评论 -
JavaScript冷知识之数据类型
数据类型强制转换之Number( )对于原始类型来说,此方法比 parseInt方法要严格,虽然两者都能去掉目标中的前后空格,但Number( )执行转换过程中但凡有一个字符不能转换为数字就返回NaN.对于复合数据类型(object) 会先判断object.valueOf()返回的是否是原始类型,如果是就按原始类型转换,否则调用object.toString()方法,假如toString方...原创 2019-12-05 10:42:27 · 94 阅读 · 0 评论