目录
- 1.5万字概括ES6全部特性(已更新ES2020)
- 前端图片上传、预览、裁剪等
- 「面试题」20+Vue面试题整理
- 各种源码实现,你想要的这里都有
- Promise+原生ajax
- jsonp实现
- 函数柯里化之实现sum(1,2,3)==sum(1)(2)(3)
- 把id放入pid的子集
- js十大排序算法
- 冒泡排序
- 选择排序
- 插入排序
- 希尔排序
- 归并排序
- 快速排序
- 堆排序
- 计数排序
- 桶排序
- 基数排序
- JavaScript数组去重(12种方法,史上最全)
- 利用ES6 Set去重(ES6中最常用)
- 利用ES6 Set去重(ES6中最常用)
- 利用for嵌套for,然后splice去重(ES5中最常用)
- 利用indexOf去重
- 利用sort()
- 利用对象的属性不能相同的特点进行去重(这种数组去重的方法有问题,不建议用,有待改进)
- 利用includes
- 利用hasOwnProperty
- 利用filter
- 利用递归去重
- 利用Map数据结构去重
- 利用reduce+includes
- […new Set(arr)]
- 算法
- 全排列
- 二分搜索
- 常用字符串
- charAt(x)
- charCodeAt(x)
- concat(v1,v2..)
- fromCharcode(c1,c2)
- indexOf(substr, [start])
- lastIndexOf(substr, [start])
- match(regexp)
- replace(regexp/substr, replacetext)
- search(regexp)
- slice(start, [end])
- split(delimiter, [limit])
- substr(start, [length])
- substring(from, [to])
- toLowerCase()
- toUpperCase()
- includes()
- endsWith()
- repeat()
- valueOf()
- trim()
- 原生js实现api
- 用ES5实现数组的map方法
- 用ES5实现数组的reduce方法
- 实现call/apply
- 实现Object.create方法(常用)
- 实现bind方法
- 实现new关键字
- 实现instanceof的作用
- 实现单例模式
- 实现数组的flat
- 实现防抖功能
- 实现节流功能
- 用发布订阅模式实现EventEmit
- 实现深拷贝
- 实现Promise
- 使用ES5实现类的继承效果
- 实用的WEB API
- querySelector
- querySelectorAll
- closest
- dataset
- URLSearchParams
- hidden
- contenteditable
- spellcheck
- classList
- getBoundingClientRect
- contains
- online state
- battery state
- vibration
- page visibility
- deviceOrientation
- toDataURL
- customEvent
- notification
- fullScreen
- orientation
- 常用数组
- 表达式全集
- 常用正则表达式
- HTTP 常用请求头
1.5万字概括ES6全部特性(已更新ES2020)
作者:JowayYoung
链接:https://juejin.im/post/5d9bf530518825427b27639d
来源:掘金
概览图
ES6: ES5:前端图片上传、预览、裁剪等
作者:chess
链接:https://juejin.im/post/5db6e288e51d455b450a6846
来源:掘金
「面试题」20+Vue面试题整理
作者:童欧巴
链接:https://juejin.im/post/5e649e3e5188252c06113021
来源:掘金
各种源码实现,你想要的这里都有
作者:前端技匠
链接:https://juejin.im/post/5dc3894051882517a652dbd7
来源:掘金
Promise+原生ajax
作者:何时夕
链接:https://juejin.im/post/5e91b01651882573716a9b23
来源:掘金
Promise+原生ajax
1 | const ajax = (url, method, async, data) => { |
jsonp实现
作者:LinDaiDai_霖呆呆
链接:https://juejin.im/post/5eb55ceb6fb9a0436748297d
来源:掘金
霖呆呆的近期面试128题汇总(含超详细答案) | 掘金技术征文
1 | function JSONP({ |
函数柯里化之实现sum(1,2,3)==sum(1)(2)(3)
作者:winty
链接:https://juejin.im/post/5e97fe876fb9a03c2e542c1e
来源:掘金
十道大厂面试题(含答案)总结
1 | function sum(...args){ |
把id放入pid的子集
把id放入pid的子集
1 | let arr = [ |
找到第一个不重复的字符
找到第一个不重复的字符
1 | function noRepeat(str) { |
js十大排序算法
对比:
1.冒泡排序
1 | function bubbleSort(arr) { |
2.选择排序
1 | function selectionSort(arr) { |
3.插入排序
1 | function insertionSort(arr) { |
4.希尔排序
1 | function shellSort(arr) { |
5.归并排序
1 | function mergeSort(arr) { //采用自上而下的递归方法 |
6.快速排序
1 | function quickSort(arr, left, right) { |
7.堆排序
1 | var len; //因为声明的多个函数都需要数据长度,所以把len设置成为全局变量 |
8.计数排序
1 | function countingSort(arr, maxValue) { |
9.桶排序
1 | function bucketSort(arr, bucketSize) { |
10.基数排序
1 | //LSD Radix Sort |
JavaScript数组去重(12种方法,史上最全)
作者:沉静地闪光
链接:https://juejin.im/post/5e91b01651882573716a9b23
来源:segmentfault
1.利用ES6 Set去重(ES6中最常用)
1 | function unique (arr) { |
1.利用ES6 Set去重(ES6中最常用)
1 | // 不考虑兼容性,这种去重的方法代码最少。这种方法还无法去掉“{}”空对象,后面的高阶方法会添加去掉重复“{}”的方法。 |
2.利用for嵌套for,然后splice去重(ES5中最常用)
1 | // 双层循环,外层循环元素,内层循环时比较值。值相同时,则删去这个值。 |
3.利用indexOf去重
1 | // 新建一个空的结果数组,for 循环原数组,判断结果数组是否存在当前元素,如果有相同的值则跳过,不相同则push进数组。 |
4.利用sort()
1 | function unique(arr) { |
5.利用对象的属性不能相同的特点进行去重(这种数组去重的方法有问题,不建议用,有待改进)
1 | function unique(arr) { |
6.利用includes
1 | function unique(arr) { |
7.利用hasOwnProperty
1 | function unique(arr) { |
8.利用filter
1 | function unique(arr) { |
9.利用递归去重
1 | function unique(arr) { |
10.利用Map数据结构去重
1 | function arrayNonRepeatfy(arr) { |
11.利用reduce+includes
1 | function unique(arr) { |
12.[...new Set(arr)]
1 | [...new Set(arr)] |
算法
作者:何时夕
链接:https://juejin.im/post/5e91b01651882573716a9b23
来源:掘金
1.全排列
1 | function permutate(str) { |
2.二分搜索
1 | function BinarySearch1 (arr, target) { |
常用字符串
作者:前端小智
链接:https://juejin.im/post/5d6866936fb9a06ada54c642
来源:掘金
1.charAt(x)
1 | // charAt(x)返回字符串中x位置的字符,下标从 0 开始。 |
2.charCodeAt(x)
1 | // charCodeAt(x)返回字符串中x位置处字符的unicode值。 |
3.concat(v1,v2..)
1 | // concat() 方法用于连接两个或多个字符串,此方法不改变现有的字符串,返回拼接后的新的字符串。 |
4.fromCharcode(c1,c2)
1 | // fromCharcode(c1,c2)转换一组Unicode值转换为字符。 |
5.indexOf(substr, [start])
1 | // indexOf方法搜索并(如果找到)返回字符串中搜索到的字符或子字符串的索引。如果没有找到,则返回-1。Start是一个可选参数,指定字符串中开始搜索的位置,默认值为0。 |
6.lastIndexOf(substr, [start])
1 | // lastIndexOf() 方法返回指定文本在字符串中最后一次出现的索引, 如果未找到,则返回-1。 “Start”是一个可选参数,指定字符串中开始搜索的位置, 默认值为string.length-1。 |
7.match(regexp)
1 | // 根据正则表达式在字符串中搜索匹配项。如果没有找到匹配项,则返回一个信息数组或null。 |
8.replace(regexp/substr, replacetext)
1 | // replace() 方法用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串。 |
9.search(regexp)
1 | // search() 方法用于检索字符串中指定的子字符串,或检索与正则表达式相匹配的子字符串,如果找到,返回与 regexp 相匹配的子串的起始位置,否则返回 -1。 |
10.slice(start, [end])
1 | // slice() 方法可提取字符串的某个部分,返回一个新的字符串。包括字符串从 start 开始(包括 start)到 end 结束(不包括 end)为止的所有字符。 |
11.split(delimiter, [limit])
1 | // split() 方法用于把一个字符串分割成字符串数组,返回一个字符串数组返回的数组中的字串不包括 delimiter自身。 可选的“limit”是一个整数,允许各位指定要返回的最大数组的元素个数。 |
12.substr(start, [length])
1 | // substr() 方法可在字符串中抽取从 start 下标开始的指定数目的字符。返回一个新的字符串,包含从 start(包括 start 所指的字符) 处开始的 length 个字符。如果没有指定 length,那么返回的字符串包含从 start 到该字符串的结尾的字符。 |
13.substring(from, [to])
1 | // substring() 方法用于提取字符串中介于两个指定下标之间的字符,方返回的子串包括 start 处的字符,但不包括 stop 处的字符,to 可选,如果省略该参数,那么返回的子串会一直到字符串的结尾。 |
14.toLowerCase()
1 | // toLowerCase() 方法用于把字符串转换为小写。 |
15.toUpperCase()
1 | // toUpperCase() 方法用于把字符串转换为大写。 |
16. includes()
1 | // includes() 方法用于检查字符串是否包含指定的字符串或字符。 |
17. endsWith()
1 | // endsWith()函数检查字符串是否以指定的字符串或字符结束。 |
18. repeat()
1 | // repeat() 构造并返回一个新字符串,该字符串包含被连接在一起的指定数量的字符串的副本。 |
19. valueOf()
1 | // valueOf() 方法返回一个String对象的原始值(primitive value),该值等同于String.prototype.toString()。 |
20. trim()
1 | // trim() 方法会从一个字符串的两端删除空白字符。在这个上下文中的空白字符是所有的空白字符 (space, tab, no-break space 等) 以及所有行终止符字符(如 LF,CR) |
原生js实现api
作者:神三元
链接:https://juejin.im/post/5d635566e51d4561e224a360
来源:掘金
1.用ES5实现数组的map方法
1 | // 1.回调函数的参数有哪些,返回值如何处理。 |
2.用ES5实现数组的reduce方法
1 | // 1.初始值不传怎么处理 |
3.实现call/apply
1 | // 思路: 利用this的上下文特性。 |
4.实现Object.create方法(常用)
1 | function create(proto) { |
5.实现bind方法
1 | // 1.对于普通函数,绑定this指向 |
6.实现new关键字
1 | // 1.创建一个全新的对象,这个对象的__proto__要指向构造函数的原型对象 |
7.实现instanceof的作用
1 | // 原型链的向上查找。 |
8.实现单例模式
1 | // 用闭包和Proxy属性拦截 |
9.实现数组的flat
JS数组扁平化(flat)方法总结10.实现防抖功能
1 | // 如果在定时器的时间范围内再次触发,则重新计时。 |
11.实现节流功能
1 | // 如果在定时器的时间范围内再次触发,则不予理睬,等当前定时器完成,才能启动下一个定时器。 |
12.用发布订阅模式实现EventEmit
基于"发布-订阅"的原生JS插件封装中的手写发布订阅部分。13.实现深拷贝
1 | // 以下为简易版深拷贝,没有考虑循环引用的情况和Buffer、Promise、Set、Map的处理,如果一一实现,过于复杂,面试短时间写出来不太现实,如果有兴趣可以去这里深入实现: |
14.实现Promise
我如何实现Promise15.使用ES5实现类的继承效果
ES5实现继承的那些事实用的WEB API
作者:聪明的汤姆
链接:https://juejin.im/post/5d5df391e51d453b1e478ad0
来源:掘金
1. querySelector
1 | // 无论如何只返回一个元素,如果有多个素,那也只返回第一个✅ |
2. querySelectorAll
1 | let list = document.querySelectorAll("li"); // NodeList(2) [li, li] 这里假设返回2个 |
3. closest
1 | // 跟querySelector相反,该元素可以向上查询,也就是可以查询到父元素: |
4. dataset
1 | // 虽然可以用getAttribute方法获取任何属性值,但是性质却不一样,这是开发规范问题,凡是自定义属性都要加上data-前缀哦✅ |
5. URLSearchParams
1 | // url地址参数: "?name=蜘蛛侠&age=16" |
6. hidden
1 | // 这是一个html属性,规定元素是否隐藏,表现跟css的display: none一致: |
7. contenteditable
1 | <p contenteditable>我是P元素,但是我也可以被编辑</p> |
8. spellcheck
1 | <!-- 默认就是true,可省略 --> |
9. classList
1 | <p class="title"></p> |
10. getBoundingClientRect
1 | elem.getBoundingClientRect(); |
11. contains
1 | <div> |
12. online state
1 | window.addEventListener("online", xxx); |
13. battery state
1 | navigator.getBattery().then(battery => console.log(battery)); |
14. vibration
1 | // 震动一次 |
15. page visibility
1 | // 使用场景:当程序切到后台的时候,如果当前有视频播放或者一些动画执行,可以先暂停✅ |
16. deviceOrientation
1 | 陀螺仪,也就是设备的方向,又名重力感应,该API在IOS设备上失效的解决办法,将域名协议改成https; |
17. toDataURL
1 | // 这个canvas的API,作用是将画布的内容转换成一个base64的图片地址; |
18. customEvent
1 | // 监听自定义事件: |
19. notification
1 | // PC端的桌面通知,如网页端的微信,当收到消息时,右下角会出现一个通知(尽管你把浏览器最小化),因为这个通知时独立于浏览器的,是系统的一个原生控件; |
20. fullScreen
1 | /** |
21. orientation
1 | // 可以监听用户手机设备的旋转方向变化; |
1 | // 也可以使用css的媒体查询: |
常用数组
方法名 | 对应版本 | 功能 | 原数组是否改变 |
---|---|---|---|
concat() | ES5- | 合并数组,并返回合并之后的数据 | n |
join() | ES5- | 使用分隔符,将数组转为字符串并返回 | n |
pop() | ES5- | 删除最后一位,并返回删除的数据 | y |
shift() | ES5- | 删除第一位,并返回删除的数据 | y |
unshift() | ES5- | 在第一位新增一或多个数据,返回长度 | y |
push() | ES5- | 在最后一位新增一或多个数据,返回长度 | y |
reverse() | ES5- | 反转数组,返回结果 | y |
slice() | ES5- | 截取指定位置的数组,并返回 | n |
sort() | ES5- | 排序(字符规则),返回结果 | y |
splice() | ES5- | 删除指定位置,并替换,返回删除的数据 | y |
toString() | ES5- | 直接转为字符串,并返回 | n |
valueOf() | ES5- | 返回数组对象的原始值 | n |
indexOf() | ES5 | 查询并返回数据的索引 | n |
lastIndexOf() | ES5 | 反向查询并返回数据的索引 | n |
forEach() | ES5 | 参数为回调函数,会遍历数组所有的项,回调函数接受三个参数,分别为value,index,self;forEach没有返回值 | n |
map() | ES5 | 同forEach,同时回调函数返回数据,组成新数组由map返回 | n |
filter() | ES5 | 同forEach,同时回调函数返回布尔值,为true的数据组成新数组由filter返回 | n |
every() | ES5 | 同forEach,同时回调函数返回布尔值,全部为true,由every返回true | n |
some() | ES5 | 同forEach,同时回调函数返回布尔值,只要由一个为true,由some返回true | n |
reduce() | ES5 | 归并,同forEach,迭代数组的所有项,并构建一个最终值,由reduce返回 | n |
reduceRight() | ES5 | 反向归并,同forEach,迭代数组的所有项,并构建一个最终值,由reduceRight返回 | n |
表达式全集
字符 | 描述 |
---|---|
\ | 将下一个字符标记为一个特殊字符、或一个原义字符、或一个向后引用、或一个八进制转义符。例如,“n”匹配字符“n”。“\n”匹配一个换行符。串行“\”匹配“\”而“(”则匹配“(”。 |
^ | 匹配输入字符串的开始位置。如果设置了RegExp对象的Multiline属性,^也匹配“\n”或“\r”之后的位置。 |
$ | 匹配输入字符串的结束位置。如果设置了RegExp对象的Multiline属性,$也匹配“\n”或“\r”之前的位置。 |
* | 匹配前面的子表达式零次或多次。例如,zo能匹配“z”以及“zoo”。等价于{0,}。 |
+ | 匹配前面的子表达式一次或多次。例如,“zo+”能匹配“zo”以及“zoo”,但不能匹配“z”。+等价于{1,}。 |
? | 匹配前面的子表达式零次或一次。例如,“do(es)?”可以匹配“does”或“does”中的“do”。?等价于{0,1}。 |
{n} | n是一个非负整数。匹配确定的n次。例如,“o{2}”不能匹配“Bob”中的“o”,但是能匹配“food”中的两个o。 |
{n,} | n是一个非负整数。至少匹配n次。例如,“o{2,}”不能匹配“Bob”中的“o”,但能匹配“foooood”中的所有o。“o{1,}”等价于“o+”。“o{0,}”则等价于“o*”。 |
{n,m} | m和n均为非负整数,其中n<=m。最少匹配n次且最多匹配m次。例如,“o{1,3}”将匹配“fooooood”中的前三个o。“o{0,1}”等价于“o?”。请注意在逗号和两个数之间不能有空格。 |
? | 当该字符紧跟在任何一个其他限制符(*,+,?,{n},{n,},{n,m})后面时,匹配模式是非贪婪的。非贪婪模式尽可能少的匹配所搜索的字符串,而默认的贪婪模式则尽可能多的匹配所搜索的字符串。例如,对于字符串“oooo”,“o+?”将匹配单个“o”,而“o+”将匹配所有“o”。 |
. | 匹配除“\n”之外的任何单个字符。要匹配包括“\n”在内的任何字符,请使用像“(. |
(pattern) | 匹配pattern并获取这一匹配。所获取的匹配可以从产生的Matches集合得到,在VBScript中使用SubMatches集合,在JScript中则使用$0…$9属性。要匹配圆括号字符,请使用“(”或“)”。 |
(?:pattern) | 匹配pattern但不获取匹配结果,也就是说这是一个非获取匹配,不进行存储供以后使用。这在使用或字符“( |
(?=pattern) | 正向肯定预查,在任何匹配pattern的字符串开始处匹配查找字符串。这是一个非获取匹配,也就是说,该匹配不需要获取供以后使用。例如,“Windows(?=95 |
(?!pattern) | 正向否定预查,在任何不匹配pattern的字符串开始处匹配查找字符串。这是一个非获取匹配,也就是说,该匹配不需要获取供以后使用。例如“Windows(?!95 |
(?<=pattern) | 反向肯定预查,与正向肯定预查类拟,只是方向相反。例如,“(?<=95 |
(?<!pattern) | 反向否定预查,与正向否定预查类拟,只是方向相反。例如“(?<!95 |
x | y |
[xyz] | 字符集合。匹配所包含的任意一个字符。例如,“[abc]”可以匹配“plain”中的“a”。 |
[^xyz] | 负值字符集合。匹配未包含的任意字符。例如,“[^abc]”可以匹配“plain”中的“p”。 |
[a-z] | 字符范围。匹配指定范围内的任意字符。例如,“[a-z]”可以匹配“a”到“z”范围内的任意小写字母字符。 |
[^a-z] | 负值字符范围。匹配任何不在指定范围内的任意字符。例如,“[^a-z]”可以匹配任何不在“a”到“z”范围内的任意字符。 |
\b | 匹配一个单词边界,也就是指单词和空格间的位置。例如,“er\b”可以匹配“never”中的“er”,但不能匹配“verb”中的“er”。 |
\B | 匹配非单词边界。“er\B”能匹配“verb”中的“er”,但不能匹配“never”中的“er”。 |
\cx | 匹配由x指明的控制字符。例如,\cM匹配一个Control-M或回车符。x的值必须为A-Z或a-z之一。否则,将c视为一个原义的“c”字符。 |
\d | 匹配一个数字字符。等价于[0-9]。 |
\D | 匹配一个非数字字符。等价于[^0-9]。 |
\f | 匹配一个换页符。等价于\x0c和\cL。 |
\n | 匹配一个换行符。等价于\x0a和\cJ。 |
\r | 匹配一个回车符。等价于\x0d和\cM。 |
\s | 匹配任何空白字符,包括空格、制表符、换页符等等。等价于[ \f\n\r\t\v]。 |
\S | 匹配任何非空白字符。等价于[^ \f\n\r\t\v]。 |
\t | 匹配一个制表符。等价于\x09和\cI。 |
\v | 匹配一个垂直制表符。等价于\x0b和\cK。 |
\w | 匹配包括下划线的任何单词字符。等价于“[A-Za-z0-9_]”。 |
\W | 匹配任何非单词字符。等价于“[^A-Za-z0-9_]”。 |
\xn | 匹配n,其中n为十六进制转义值。十六进制转义值必须为确定的两个数字长。例如,“\x41”匹配“A”。“\x041”则等价于“\x04&1”。正则表达式中可以使用ASCII编码。. |
\num | 匹配num,其中num是一个正整数。对所获取的匹配的引用。例如,“(.)\1”匹配两个连续的相同字符。 |
\n | 标识一个八进制转义值或一个向后引用。如果\n之前至少n个获取的子表达式,则n为向后引用。否则,如果n为八进制数字(0-7),则n为一个八进制转义值。 |
\nm | 标识一个八进制转义值或一个向后引用。如果\nm之前至少有nm个获得子表达式,则nm为向后引用。如果\nm之前至少有n个获取,则n为一个后跟文字m的向后引用。如果前面的条件都不满足,若n和m均为八进制数字(0-7),则\nm将匹配八进制转义值nm。 |
\nml | 如果n为八进制数字(0-3),且m和l均为八进制数字(0-7),则匹配八进制转义值nml。 |
\un | 匹配n,其中n是一个用四个十六进制数字表示的Unicode字符。例如,\u00A9匹配版权符号(©)。 |
常用正则表达式
name | reg |
---|---|
用户名 | /^[a-z0-9_-]{3,16}$/ |
密码 | /^[a-z0-9_-]{6,18}$/ |
十六进制值 | /^#?([a-f0-9]{6} |
电子邮箱 | /^([a-z0-9_.-]+)@([\da-z.-]+).([a-z.]{2,6})$/ /^[a-z\d]+(.[a-z\d]+)*@(\da-z?)+(.{1,2}[a-z]+)+$/ |
URL | /^(https?://)?([\da-z.-]+).([a-z.]{2,6})([/\w .-])/?$/ |
IP 地址 | /((2[0-4]\d |
/^(?:(?:25[0-5] | 2[0-4][0-9] |
HTML 标签 | /^<([a-z]+)([^<]+)(?:>(.)</\1> |
删除代码\注释 | (?<!http: |
Unicode编码中的汉字范围 | /^[\u2E80-\u9FFF]+$/ |
HTTP 常用请求头
作者:何时夕
链接:https://juejin.im/post/5e91b01651882573716a9b23
来源:掘金
协议头 | 说明 |
---|---|
Accept | 可接受的响应内容类型(Content-Types)。 |
Accept-Charset | 可接受的字符集 |
Accept-Encoding | 可接受的响应内容的编码方式。 |
Accept-Language | 可接受的响应内容语言列表。 |
Accept-Datetime | 可接受的按照时间来表示的响应内容版本 |
Authorization | 用于表示HTTP协议中需要认证资源的认证信息 |
Cache-Control | 用来指定当前的请求/回复中的,是否使用缓存机制。 |
Connection | 客户端(浏览器)想要优先使用的连接类型 |
Cookie | 由之前服务器通过Set-Cookie(见下文)设置的一个HTTP协议Cookie |
Content-Length | 以8进制表示的请求体的长度 |
Content-MD5 | 请求体的内容的二进制 MD5 散列值(数字签名),以 Base64 编码的结果 |
Content-Type | 请求体的MIME类型 (用于POST和PUT请求中) |
Date | 发送该消息的日期和时间(以RFC 7231中定义的”HTTP日期”格式来发送) |
Expect | 表示客户端要求服务器做出特定的行为 |
From | 发起此请求的用户的邮件地址 |
Host | 表示服务器的域名以及服务器所监听的端口号。如果所请求的端口是对应的服务的标准端口(80),则端口号可以省略。 |
If-Match | 仅当客户端提供的实体与服务器上对应的实体相匹配时,才进行对应的操作。主要用于像 PUT 这样的方法中,仅当从用户上次更新某个资源后,该资源未被修改的情况下,才更新该资源。 |
If-Modified-Since | 允许在对应的资源未被修改的情况下返回304未修改 |
If-None-Match | 允许在对应的内容未被修改的情况下返回304未修改( 304 Not Modified ),参考 超文本传输协议 的实体标记 |
If-Range | 如果该实体未被修改过,则向返回所缺少的那一个或多个部分。否则,返回整个新的实体 |
If-Unmodified-Since | 仅当该实体自某个特定时间以来未被修改的情况下,才发送回应。 |
Max-Forwards | 限制该消息可被代理及网关转发的次数。 |
Origin | 发起一个针对跨域资源共享的请求(该请求要求服务器在响应中加入一个Access-Control-Allow-Origin的消息头,表示访问控制所允许的来源)。 |
Pragma | 与具体的实现相关,这些字段可能在请求/回应链中的任何时候产生。 |
Proxy-Authorization | 用于向代理进行认证的认证信息。 |
Range | 表示请求某个实体的一部分,字节偏移以0开始。 |
Referer | 表示浏览器所访问的前一个页面,可以认为是之前访问页面的链接将浏览器带到了当前页面。Referer其实是Referrer这个单词,但RFC制作标准时给拼错了,后来也就将错就错使用Referer了。 |
TE | 浏览器预期接受的传输时的编码方式:可使用回应协议头Transfer-Encoding中的值(还可以使用”trailers”表示数据传输时的分块方式)用来表示浏览器希望在最后一个大小为0的块之后还接收到一些额外的字段。 |
User-Agent | 浏览器的身份标识字符串 |
Upgrade | 要求服务器升级到一个高版本协议。 |
Via | 告诉服务器,这个请求是由哪些代理发出的。 |
Warning | 一个一般性的警告,表示在实体内容体中可能存在错误。 |
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)。 |
SQRT1_2 | 返回返回 2 的平方根的倒数(约等于 0.707)。 |
SQRT2 | 返回 2 的平方根(约等于 1.414)。 |
Math 对象方法
方法 | 描述 |
---|---|
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) | 对数进行上舍入。 |
cos(x) | 返回数的余弦。 |
exp(x) | 返回 e 的指数。 |
floor(x) | 对数进行下舍入。 |
log(x) | 返回数的自然对数(底为e)。 |
max(x,y) | 返回 x 和 y 中的最高值。 |
min(x,y) | 返回 x 和 y 中的最低值。 |
pow(x,y) | 返回 x 的 y 次幂。 |
random() | 返回 0 ~ 1 之间的随机数。 |
round(x) | 把数四舍五入为最接近的整数。 |
sin(x) | 返回数的正弦。 |
sqrt(x) | 返回数的平方根。 |
tan(x) | 返回角的正切。 |
toSource() | 返回该对象的源代码。 |
valueOf() | 返回 Math 对象的原始值。 |