常见非指纹built-in函数
unescape
unescape() _函数_可对通过 escape() 编码的字符串进行解码。
unescape("abcdefg")
'abcdefg'
unescape("\xa2")
'¢'
unescape("Vistit%20W3school%21")
'Vistit W3school!'
Function
Function类似于变量声明
var fun = new Function("a","return a");
// new一个方法 函数传参是a 返回值返回的是这个a
// 相等于
function fun(a){
return a
}
eval
eval 作用是将字符产当作JS的代码执行
eval("alert(111)")
eval('debugger;alert(111)')
Array
制造一个数组 本身是个对象函数
a = new Array
Object
对某个值进行实例化
Object(1111)
// Number {1111} === new Number(1111)
Object("1111")
// String {'1111'}
Object(false)
// Boolean {false}
Date
Date是一个构造函数 也是一个有返回值的函数
Date()
返回的是本地时间
a = new Date()
a.getDate()
// 1 号
a.getDay()
// 3 周三
RegExp
正则 需要new 一个规则
a = new RegExp("n?")
a.exec("asdasdksadnsakldjnsakdj")
indexOf
arry = [
"a",
"b",
"c",
"d",
]
arry.indexOf("a") // 0
arry.indexOf("b") // 1
hasOwnProperty
检测一个属性是否是对象的自有属性
function F(){
this.name = "自有属性"
}
F.prototype.name = "继承属性"
var f = new F()
f
f.hasOwnProperty("name")
decodeURIComponent encodeURI encodeURIComponent
URL编码与解码
encodeURI("干嘛")
'%E5%B9%B2%E5%98%9B'
decodeURI('%E5%B9%B2%E5%98%9B')
'干嘛'
Math .round 、random, parselnt 等强制转换
- Math: 数字函数
- round:Math.rand(0.5) == 1 四舍五入
- random:Math.random() 随机数生成
- parseInt:parseInt(15.55)
shift、pop、push、unshift
shift: 数组移位
pop: 数组删除末尾元素
push: 数组末尾添加
unshift: 数组前部添加
slice、 splice、split、 substring、 substr、 concat
slice : 拆分数组 不基于指针 || 字符串 也可以使用
var array = [1,2,3]
array.slice(0,1)
// [1]
array.slice(0,2)
// (2) [1, 2]
splice:拆分数组 基于指针 影响原数组 || 字符串也可以使用
var array = [1,2,3]
array.splice(0,1)
// [1]
array
// (2) [2, 3]0: 21: 3length: 2[[Prototype]]: Array(0)
split: 把字符串切分成数组
"asdsajhdjsadksaj".split("")
(16) ['a', 's', 'd', 's', 'a', 'j', 'h', 'd', 'j', 's', 'a', 'd', 'k', 's', 'a', 'j']
join:把数组合并成列表
['a', 's', 'd', 's', 'a', 'j', 'h', 'd', 'j', 's', 'a', 'd', 'k', 's', 'a', 'j'].join("")
'asdsajhdjsadksaj'
substring:可以理解为切片
"abcdefg".substring(0,1)
'a'
"abcdefg".substring(0,2)
'ab'
"abcdefg".substring(0,3)
'abc'
"abcdefg".substring(3,0)
'abc'
substr: 但是他不能写反
"abcdefg".substr(0,1)
'a'
"abcdefg".substr(0,2)
'ab'
"abcdefg".substr(0,3)
'abc'
"abcdefg".substr(3,0)
''
concat: 数组合并 两个数组合并
a = new Array(1,2,3)
b = new Array(4,5,6)
a.concat(b)
// (6) [1, 2, 3, 4, 5, 6]
a.concat(a,b)
// (9) [1, 2, 3, 1, 2, 3, 4, 5, 6]
String.fromCharCode、 charCodeAt
String.fromCharCode(): 将 Unicode 编码转为一个字符:
var n = String.fromCharCode(65);
// A
String.fromCharCode():返回在指定的位置的字符的 Unicode 编码。
"A".charCodeAt()
65
[101,118,97,108].map(item=>{
return String.fromCharCode(item)
})
['e', 'v', 'a', 'l']
atob 、btoa、Uint8Array、 ArrayBuffer、 Int32Array、 Int16Array
atob: 把base64解码
btoa: 编码成base64
btoa('123')
'MTIz'
atob('MTIz')
'123'
Uint8Array: 数组类型表示一个 8 位无符号整型数组,创建时内容被初始化为 0
let uint8 = new Uint8Array(2);
uint8[0] = 42;
ArrayBuffer、 Int32Array、 Int16Array都是ES2017的语法 可以自己百度搜
setTimeout 、setlnterval、clearTimeout
setTimeout: 延迟多少秒执行一次
setTimeout(()=>{console.log("你还好吗")}, 3000 )
你还好吗
setlnterval: 每隔多少秒执行一次
a = setInterval(()=>{console.log("你还好吗")},1000)
你还好吗
clearTimeout:清除定时器
clearTimeout(a)
常见非指纹built-in函数的更多相关文章
- 常见的JS手写函数汇总(代码注释、持续更新)
最近在复习面试中常见的JS手写函数,顺便进行代码注释和总结,方便自己回顾也加深记,内容也会陆陆续续进行补充和改善. 一.手写深拷贝 <script> const obj1 = { name ...
- 带有“非简单参数”的函数为什么不能包含 "use strict" 指令
非简单参数就是 ES6 里新加的参数语法,包括:1.默认参数值.2.剩余参数.3.参数解构.本文接下来要讲的就是 ES7 为什么禁止在使用了非简单参数的函数里使用 "use strict&q ...
- C++中的内联成员函数与非内联成员函数
在C++中内联成员函数与非内联成员函数的可以分为两种情况: 1.如果成员函数的声明和定义是在一起的,那么无论有没有写inline这个成员函数都是内联的,如下: using namespace std; ...
- C++_static与非static成员(函数)
static与非static成员(函数) <C++ Primer>第4版399页: 对于特定类类型的全体对象而言,访问一个全局变量有时是必要的.然而,全局变量会破坏封装:对象需要支持特定 ...
- Socket中常见的几个转换函数(htonl,htons,ntohl,ntohs,inet_addr,inet_ntoa)
Socket中常见的几个转换函数(htonl,htons,ntohl,ntohs,inet_addr,inet_ntoa) htonl() htons() ntohl() ntohs()及inet_n ...
- 非ie浏览器必备函数常识
场景描述: 我们都知道IE浏览器和非IE浏览器都有很多功能一样但写法不同,或者各自都有一些自己独特的方法,那么为了保持兼容性和便于编写,我们可以通过这两个方法给非IE浏览器的对象增加自己没有,但IE有 ...
- 文件IO之——阻塞和非阻塞及perror函数
读常规文件是不会阻塞的,不管读多少字节,read一定会在有限的时间内返回.从终端设备或网络读则不一定,如果从终端输入的数据没有换行符,调用read读终端设备就会阻塞,如果网络上没有接收到数据包,调用r ...
- python学习之非空即为真,函数,集合
python基础 非空即真,非零即真 #之前代码:sex = input("请输入性别:") if sex != '': print("输入成功") else: ...
- C++模板编程:如何使非通用的模板函数实现声明和定义分离
我们在编写C++类库时,为了隐藏实现,往往只能忍痛舍弃模版的强大特性.但如果我们只需要有限的几个类型的模版实现,并且不允许用户传入其他类型时,我们就可以将实例化的代码放在cpp文件中实现了.然而,当我 ...
- PHP细节,PHP手册中常见的一句话:该函数是二进制安全的
以下内容转自 http://wuxinjie.github.io/php-02/ 在看PHP手册的时候,经常看到一句话”该函数是二进制安全的”. 二进制安全是什么呢? 他是如何实现的? 二进制安全是什 ...
随机推荐
- Nginx反向代理实现Tomcat+Jpress和halo
一.利用Nginx反向代理Jpress+Tomcat 1.环境准备 服务器 IP地址 作用 系统版本 Proxy代理服务器 10.0.0.101 负载均衡Nginx Web服务器 Ubuntu2004 ...
- Codeforces Round #811 (Div. 3)D. Color with Occurrences
题目大意:给出一个文章t和n个字符串s1,s2...sn: 问能否用这n个字符串将整个文章覆盖: 思路:贪心(最小区间覆盖) 记录每个字符串能够覆盖的所有位置(起点,终点,编号) 排序后贪心的求出是否 ...
- Django系列---理论一
教程:http://c.biancheng.net/django/ 特点 集成 ORM 组件:Django 的 Model 层自带数据库 ORM 组件,为操作不同类型的数据库提供了统一的方式. URL ...
- MYSQL ---mysql 数据导入与导出
1.使用SQLyog导出MySQL中的数据库 打开SQLyog → 右击你想要保存的数据库 → 选择"Backup/Export"→ 选择"Backup Database ...
- 23种设计模式之自定义Spring框架(五)
7,自定义Spring框架 7.1 spring使用回顾 自定义spring框架前,先回顾一下spring框架的使用,从而分析spring的核心,并对核心功能进行模拟. 数据访问层.定义UserDao ...
- Ajax基础(上)
当我们在浏览器地址栏中输入一个网址,或者通过网页表单向服务器提交内容的时候,我们就开始与服务器进行交互. 传统的Web应用交互: (1)用户触发一个Http请求到服务器,服务器对其进行处理后再返回一个 ...
- 如何使用ModelBox快速提升AI应用性能?
摘要:在开发初期开发者往往聚焦在模型的精度上,性能关注较少,但随着业务量不断增加,AI应用的性能往往成为瓶颈,此时对于没有性能优化经验的开发者来说往往需要耗费大量精力做优化性能,本文为开发者介绍一些常 ...
- Mysql通过Merge引擎进行分表
Mysql通过Merge引擎进行分表 转载: https://www.jianshu.com/p/9420a6a8ae2e https://www.cnblogs.com/xbq8080/p/6628 ...
- Linux *.service文件详解
什么是systemd service? systemd service是一种以.service 结尾的配置文件,是一个专用于Linux操作系统的系统与服务管理器.简单来说,用于后台以守护精灵(daem ...
- centos7 ftp服务搭建记录
1. 装包与卸载 yum -y install vsftpd yum -y autoremove vsftpd&&rm -rf /etc/vsftpd /etc/pam.d/vsftp ...