js 处理null、undefined 和空
摘要:var Tools = {}; Tools.removeNullOrUndefined = function (obj) { //typeof 返回的是字符串,有六种可能:"number"、"string"、"boolean"、"object"、"function"、"undefined" if (
阅读全文
函数-变量作用域与解构赋值
摘要:变量提升 js的函数定义有个特点,它会先扫描整个函数体的语句,把所有申明的变量"提升"到函数顶部: function log(){ var x = 'hello,' + y; console.log(x); // hello, undefined var y = 'world' } log(); 虽
阅读全文
箭头函数
摘要:x=> x*x 上面的箭头函数相当于: function (x) { return x * x } 箭头函数相当于匿名函数,并且简化了函数定义,箭头函数有两种格式,一种上面的,只包含一个表达式,连{...} 和 return 都省略掉了,还有一种包含多条语句,这时候不能省略{...} 和 retur
阅读全文
string 转number number转string
摘要:1. string to number let strz = '123.456' parseInt(strz); // 123 parseFloat(strz); // 123.456 Number(strz); // 123.456 string类型 *1 即可变成number类型 2. numb
阅读全文
高阶函数(map、reduce、filter、sort等)
摘要:1. 先了解abs() 方法 abs()方法可返回函数的绝对值 语法 Math.abs(x) 2. 高阶函数 一个函数可以接收另一个函数作为参数,这种函数称之为高阶函数 // 高阶函数 function add(x,y,f){ return f(x) + f(y) } var add_s = add
阅读全文
函数调用的方法
摘要:函数调用的方法一共有4种: 1. 作为个函数调用 2. 函数作为方法调用 3. 使用构造函数调用 4. 作为函数方法调用 作为一个函数调用 // 作为一个函数调用 var name = "windowsName"; function a() { var name = "Cherry"; consol
阅读全文
ES6 函数的扩展
摘要:1. 函数参数的默认值 基本用法 es6之前,不能直接为函数的参数指定默认值,只能采用变通的方法 function log(x,y) { if (typeof 'undefined') { // 如果y有值,则为y 无值则等于 World y = 'World' } } log('hello') /
阅读全文
ES6 数值的扩展
摘要:1. Number.isNaN() Number.isNaN() 用来检查一个值是否为NaN console.log(Number.isNaN(NaN)); // true console.log(Number.isNaN(12)) // false console.log(Number.isNaN
阅读全文
class的继承
摘要:1. class Class 可以通过 extends 关键字实现继承,这比ES5的通过修改原型链实现继承,要清晰和方便很多 class Point { constructor(x,y){ this.x = x; this.y = y; } toString() { console.log('此处是
阅读全文
js 中的super
摘要:super 类似于ES5语法中的call 继承 class A { constructor(name) { console.log(name); // xiaozhu this.name = name; } getX() { console.log(this.name) } } class B ex
阅读全文
class 的基本语法
摘要:· class 是ES6 提供的更接近于传统语言的写法, 作为对象的模板,通过class 关键字,可以定义类 · class 写法只是一个语法糖,它只是让对象原型的写法更加清晰,更像面向编程的语法。例如 // 传统原型对象写法 function Person(x,y) { this.x = x; t
阅读全文
js 中的call()、apply()、bind() 的用法
摘要:call()、 apply(),bind()的区别 相同点: 都是重定向this指针的方法 不同点: 1. call 和apply 的第二个参数不同,apply 第二个参数必须传入一个数组,call 第二个参数可以是任意类型 2. bind 除了返回是函数以外,它的参数和call一样 (bind方法
阅读全文
原型、原型链
摘要:一、 构造函数 1.1 构造函数分为 实例成员 和 静态成员 实例成员: 实例成员就是在构造函数内部,通过this添加的成员。 实例成员只能通过实例化的对象来访问 静态成员: 在构造函数本身添加的成员,只能通过构造函数来访问 function Star(name,age) { // 实例成员 thi
阅读全文
数组排序、求最大值、求和、 数组去重
摘要:1. 数组排序、求和、求最大值 let arr = [1,4,5,3] // 1. 使用sort排序 let arr1 = arr.sort(function(a,b) { return a - b }) console.log(arr1) // 获取最大值 console.log(arr1[arr
阅读全文
str 倒序
摘要:let str = "xiao" // 方法一 str.split("").reverse().join("") .split(""): 字符串转数组每个字符都拆分 ["x","i","a","o"] .reverse(): 数组倒序 ["o","a","i","x"] .join(""): 数组转
阅读全文
js 年月日 时分秒
摘要:function formateTime() { const date = new Date() const year = date.getFullYear() const month = date.getMonth() + 1 const day = date.getDate() const ho
阅读全文
addEventListener函数的第三个参数
摘要:第三个参数涉及到冒泡和捕获,是true为捕获,是false为冒泡 或者是一个对象{passive: true}, 针对的是Safari 浏览器,禁止/开启使用滚动的时候要用到
阅读全文
http与https
摘要:httphttps 80端口 443端口 无需申请证书 需要申请证书 超文本传输协议 ssl加密协议 快 慢(因为会有一个ssl包需要传输) ssl加密 分为对称和非对称加密 1. 对称加密。 客户端和服务端公用一个密钥对消息加解密。(客户端和服务端约定好一个加密钥匙。客户端在发消息浅用该密匙对消息
阅读全文
正则一二
摘要:1. 去除首尾空格 let string3 = " aaa " function trimStr(str){ return str.replace(/(^\s*)|(\s*$)/g,"") } console.log(trimStr(string3)) 2. 用来校验手机号 var phoneReg
阅读全文
js 中slice、splice和split、substring的使用方法
摘要:slice: 不会修改原来的数组,返回截取数组元素 splice: 直接修改原数组,删除原数组中的指定元素,返回的是被删除的元素组成的数组 split: 根据特定的字符切割成字符串并返回生成的数组 💜 slice: 可以理解成是提取某东西的片段 用法一: array.slice(start,end
阅读全文