javascript
文章平均质量分 64
大华阿大华
突破,挑战,自信
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
前端面试题 - 可以手写一个new()吗?new 的原理
可以手写一个new()吗?首先了解下 new 执行的大致原理:1.创建新对象。2.对象的原型与构造函数挂钩。3.将对象作为上下文,执行构造函数。4.判断构造函数是否有返回对象或函数,有则返回,没有则返回创建的对象。// 模拟 new function myNew (constructor, ...args) { // 步骤1:创建新的对象 let targe = {} // 步骤2:将该对象的 __proto__ 与构造函数的 prototype 进行挂钩。 targe.__pro原创 2021-02-03 20:05:01 · 782 阅读 · 3 评论 -
js 知识点复习 javascript 继承的几种方式
javascript 继承可以理解为将一个对象所拥有的属性复制到另一个对象。这里记录几种实现的方式。首先定义一个父级构造函数: // 父级构造函数 A function A () { this.name = 'A' this.age = 16 } A.prototype.sayHi = function () { console.log('Hi i am A') }一、原型继承原型继承是通过将子类的原型 prototype 赋值为父类实例的方式来实现。原创 2021-12-06 11:13:58 · 200 阅读 · 0 评论 -
从 a == 1 && a == 2 && a == 3 来回顾 js 隐式转换
/**ToString将其他类型的值转换为 string 类型。*/// null 转为 “null”console.log(String(null)) // “null”// undefined 转为 “undefined”console.log(String(undefined)) // “undefined”// number 转为 对应的字符串。console.log(String(10)) // “10”console.log(String(-10)) // “-10”c原创 2021-03-02 10:59:09 · 455 阅读 · 0 评论 -
javascript的 Map 对象和 Set 对象,做个笔记
/**map1.保存键值对。2.迭代时会根据元素的原始插入顺序进行循环,每次迭代后会返回一个形式为 [key, value] 的数组。3.任何值(对象或原始值)都可以做为键或值。*/let myMap = new Map()let keyObj = {};let keyFunc = function() {};let keyString = ‘a string’;// 添加键myMap.set(keyString, “和键 ‘a string’ 关联的值”);myMap.set(原创 2021-01-28 22:54:19 · 294 阅读 · 0 评论 -
new Date() 在 ios上的兼容
前言new Date() 在 ios 中存在兼容问题。在 ios 中使用 new Date(‘2019-12-02 10:00:00’) 会出现 Invalid Date 的报错,所以使用 new Date(‘2019-12-02 10:00:00’).getTime() 会出现 NaN。因为 ios 不支持这种时间格式。解决方式如下:// 将时间格式转化为 '2019/12/02 10:...原创 2019-12-02 22:57:35 · 697 阅读 · 0 评论 -
js正则表达式语法
// 一、方括号 [] 用法let a = ‘abcd’let a2 = ‘532405’// [ab] 匹配方括号里任意字符console.log( a.match(/[ab]/g) ) // [‘a’, ‘b’]console.log( a.match(/[^ab]/g) ) // [‘c’, ‘d’]console.log( a2.match(/[0-3]/) ) // 第一次匹...原创 2019-10-14 21:33:53 · 296 阅读 · 0 评论 -
vue js日期时间格式化
// /utils/index.jsfunction dateFormatInit() { String.prototype.dateFormat = Number.prototype.dateFormat = function( fmt = "yyyy-mm-dd HH:MM:SS" ) { let date = new Date(this); let fmtD...原创 2019-10-11 10:01:15 · 7996 阅读 · 0 评论 -
前端 js 读取上传文件 - FileReader
前言前端通过 标签可以进行文件的读取,例如读取上传图片文件信息等,再对其进行进一步的操作。这时可以用到 FileReader 接口来进行文件数据的处理。FileReader 的方法abort() - 可用于中止读取readAsArrayBuffer() - 读取文件并且将一个包含文件内容的ArrayBuffer保存咋result属性中。readAsBinaryString() - ...原创 2019-09-24 23:06:23 · 2262 阅读 · 0 评论 -
foreach无法 return 如何中断foreach循环
前言数组的 forEach 用于循环遍历数据,会对数组中有效的每一项执行一次回调函数,但是在遍历回调中使用 break 或 continue 会报错,使用 return 也无法终止循环。语法Array.forEach((currentValue, index, array, thisArg) => {})currentValue: 数组中正在处理的当前元素。index(可选)...原创 2019-08-09 09:08:09 · 7134 阅读 · 3 评论 -
js获取元素高度和宽度的方式 - cientHeight、offsetHeight、getComputedStyle、getBoundingClientRect
javascript获取元素高度可以通过这几种方式获取:cientHeight、offsetHeight、getComputedStyle、getBoundingClientRectclientHeight 获取的元素高度包括内边距。如果元素是 display: inline; 那么得到的结果是 0 。offsetHeight 获取元素的高度,包括内边距和边框的宽度。如果元素是 displa...原创 2019-07-17 17:46:13 · 1856 阅读 · 0 评论 -
vue使用javascript动态创建script - 动态引入外部js文件
// 创建script标签,引入外部文件let script = document.createElement('script')script.type = 'text/javascript'script.src = 'http://xxx.xxx.js'document.getElementsByTagName('head')[0].appendChild(script)// 创建s...原创 2019-07-01 17:44:05 · 26339 阅读 · 1 评论 -
javascript的浅拷贝与深拷贝
一、数据类型JavaScript有lia两种数据类型:1.基本数据类型:Number、String、Undefined、Null、Boolean、Symbol。这六种数据类型数据段简单,大小可以确定,存放在栈中,是直接按值存放的,也可以直接访问。2.引用类型:如对象、数组等。这些对象的大小不一定,是存放在堆中的,其在栈中的值只是一个指向堆的指针。 二、引发的问题1.复制基本...原创 2019-01-05 15:06:17 · 189 阅读 · 0 评论 -
解决在手机端输入法软键盘把底部的固定定位按钮撑起来的问题
在手机端开发过程可能会遇到这样一个问题:底部有一个固定定位的按钮,然而每次一点击输入框,弹出输入法的时候,这个底部的按钮会随着输入法被顶上去。解决方法是,调用浏览器窗口改变时执行的函数。//原生 JSwindow.onresize = function(){ console.log("窗口发生改变了哟!");}//css.btns { position: fixed...原创 2018-08-02 17:52:34 · 5107 阅读 · 0 评论 -
npm的命令参数 --save-dev和 --save两者有什么区别?npm install的 -D 和 -S
我们在安装npm包的时候经常会遇到 --save-dev 和 --save 这两个命令参数,两个命令都是往package.json文件里写入信息,两者有什么区别呢?1. --save 会把依赖包名称添加到 package.json 的 dependencies 键下,而 --save-dev 会添加到 devDependencies 键下。2.dependencies 是运行时的依赖,而d...原创 2018-08-09 21:27:10 · 2991 阅读 · 0 评论 -
js获取浏览器当前屏幕的宽度和高度
1.获取HTML元素 document.documentElement2.获取body元素 document.body3.兼容所有浏览器获取当前屏幕的宽度。 var winWidth = document.body.clientWidth || document.documentElement.clientWidth;4.兼容所有浏览器获取当前屏幕的高度。...原创 2018-07-23 22:50:26 · 11210 阅读 · 0 评论
分享