• admin
    |
    2022.09.03
    |
    Promise
    ·
    原理

    简单实现Promise的原理

    Promise对象的出现,是为了解决异步请求回调嵌套(地狱回调)的问题,它的实现原理很简单,从嵌套回调到链式回调的转换,其实就是形式的改变,最关键的因素是增加了状态判断,状
    浏览:1052
  • admin
    |
    2022.08.28
    |
    js
    ·
    深拷贝
    ·
    浅拷贝

    浅谈前端js对象的深拷贝和浅拷贝

    最近看了一篇关于对象拷贝的文章,说得太过于复杂,难以理解,其实深度拷贝和浅拷贝,一般都是针对json对象来说的,我们可以很简单地去理解: 浅拷贝 浅拷贝就是只能拷贝json对象
    浏览:1058
  • admin
    |
    2022.08.27
    |
    json
    ·
    json对象
    ·
    判断

    js如何判断一个对象是否是json对象?

    export default { methods:{ isJson(obj){ if(typeof obj === 'object' Object.prototype.toString.call(obj) === '[object Object]'){ return true }else{ return false } } }}
    浏览:1047
  • admin
    |
    2022.08.26
    |
    字符串
    ·
    json
    ·
    数据转换

    js判断字符串是否为json格式或能转为json对象?

    export default{methods:{canParseToJson(str, parseFlag){try{if(typeof JSON.parse(str)==="object" Object.prototype.toString.call(JSON.parse(str))==="[object Object]"){return parseFlag===true?JSON.parse(str) : true}}catch(e){}return false}}}
    浏览:1100
  • admin
    |
    2022.06.11
    |
    for
    ·
    循环
    ·
    await

    for循环使用await,for of以及for await of

    几个for循环里使用await的方法让小编有点混乱,所以决定今天捋一捋,顺便把是否能用break也标一下: 其实for循环中使用await就分几种,看看哪个是生效的: 1、forEach:循环中使用await的
    浏览:2806
  • admin
    |
    2022.06.11
    |
    javaScript
    ·
    数组
    ·
    性能

    js性能对比之合并数组的四种方法

    前面讲了json数组的高性能去重方法: js中json对象数组array去重的高性能方法 今天说说js数组的合并的四种方法,后面会有实例性能对比,先列出这四种方法: concat()方法:array1.concat(
    浏览:1356
  • admin
    |
    2022.03.20
    |
    数组
    ·
    去重
    ·
    高性能

    js中json对象数组array去重的高性能方法

    像这种数组: let jsonArray = [{id: "1", name: "张三"}, {id: "2", name: "赵四"}, {id: "3", name: "王五"}] 数组元素不是直接在第一层的,数据量大的时候逻辑怎么写才使得性能比较好呢,就是比较快处
    浏览:1493
  • admin
    |
    2022.01.13
    |
    最大值
    ·
    两个数
    ·
    Math.max

    js取两个数中的最大值/数组最大值的快捷方法

    项目中经常会用到取两个数中最大值的情况,方法有很多,但是想用最快捷最直接的写法,三目写法都懒得敲了,总结如下:```javascriptMath.max( 12, 34 );//最大值Math.min( 12, 34 );//最小值Mat
    浏览:1482
  • admin
    |
    2019.09.25
    |
    闭包
    ·
    js
    ·
    运行速度

    js如何利用闭包的记忆功能加快代码运行速度?

    先看下面的代码: var factorinal=(n)={ if(n===0){ return 1; } return n*factorinal(n-1);} 这个函数代码看起来没什么问题啊?但是你会发现,这个方法是不是重复的在调用自己?于是每次执行到return后
    浏览:1490
  • admin
    |
    2019.03.08
    |
    形参
    ·
    实参
    ·
    arguments

    js怎么判断当前函数方法实际传过来多少个参数?形参、实参区别

    在项目中有时候需要通过判断某一个方法使用的时候填了多少个参数,以此来区分不同的状态下所需要执行的代码不同;实际上就是用到arguments这个属性,举个例子说明比较好理解: 首
    浏览:2124
  • admin
    |
    2019.03.06
    |
    table
    ·
    填充
    ·
    嵌套

    td中嵌套table,怎样让table完全填充父td高度宽度相

    如下图: 项目中要在td中再嵌套一个table,需要列边框线与头部对齐,这个好办,前面的文章也说过了,只需设置相同的列宽就可以实现,问题是高度,怎么才能让子table的高度永远跟父
    浏览:1938
  • admin
    |
    2018.11.02
    |
    jquery.on
    ·
    同时
    ·
    绑定
    ·
    多个
    ·
    事件
    ·
    ·
    写法
    ·
    我们
    ·

    jquery.on()同时绑定多个事件的写法

    我们知道用jquery.on()绑定单个事件的时候是这么写的: $(.class).on(click,function(){}) 那如果一个标签需要同时绑定多个事件,如果用jquery.on()怎么写? $(.class).on({ click:function(){ //回调 }, mou
    浏览:6196
  • admin
    |
    2018.10.26
    |
    如何
    ·
    判断
    ·
    一个
    ·
    变量
    ·
    对象
    ·
    ·
    类型
    ·
    是什么
    ·

    如何判断一个变量/对象的对象类型是什么?

    直接用Object.prototype.toString.call('object')进行判断 1、Object.prototype.toString.call(num);//'[object Number]' 2、Object.prototype.toString.call(str);//'[object String]' 3、Object.prototype.toString.call(bool);//'[object Boolea
    浏览:1821
  • admin
    |
    2018.10.18
    |
    环境
    ·
    浏览器

    各种浏览器环境判断,判断当前是什么浏览器?

    IE9及以上浏览器环境判断,Vue里面的判断代码,拿出来参考一下: // Browser environment sniffingvar inBrowser = typeof window !== undefined;var inWeex = typeof WXEnvironment !== undefined !!WXEnvironment.platform;var
    浏览:2029
  • admin
    |
    2018.09.29
    |
    textarea
    ·
    高度
    ·
    自适应

    textarea高度自适应js

    有时候我们需要textarea高度随着行数多少进行跟随改变,而不是出现滚动条,以下方法和新浪微博的发布框一模一样效果,本人已用在项目中,分享出来给大家 function autoTextarea(options)
    浏览:1274
  • admin
    |
    2018.09.25
    |
    arguments
    ·
    用法

    arguments在js中的作用以及用法

    arguments其实是所有的函数里面都存在的一个公共对象,类似一个数组Array但又不等于Array,arguments对象在函数内部调用的是当前运行函数到底传了几个参数进来,用arguments.length就可以得出
    浏览:1334
  • admin
    |
    2018.08.29
    |
    插件
    ·
    验证码
    ·
    canvas

    使用canvas生成的登录验证码js插件

    一个用canvas做的js验证码插件 !(function(window, document) {function GVerify(options) { //创建一个图形验证码对象,接收options对象为参数this.options = { //默认options参数值id: , //容器IdcanvasId: verifyCanv
    浏览:1808
  • admin
    |
    2018.08.17
    |
    eval
    ·
    替代方法

    eval()方法的替代函数

    为什么大家都不建议使用eval()这方法?是因为eval()方法会无条件执行传给它的代码,很容易导致安全问题,很多人不懂得eval()的正确用法,所以建议大家少用或者不用这个方法,那么有
    浏览:10979
  • admin
    |
    2018.08.08
    |
    checked
    ·
    input
    ·
    选中

    关于$(".selector").attr("checked")一直返回undefined的问题解决

    在低版本的jquery中,checkbox是否选中可以这样获取: $(input[type=checkbox]).attr(checked)//checked/undifined(选中/没选中) 但是在jquery高版本后再这样取值会发现取到的值一直是undifined的情况(设置
    浏览:1761
  • admin
    |
    2018.08.01
    |
    跳转
    ·
    location
    ·
    button

    window.location.href失效无法跳转的问题

    有时候在使用window.location.href进行页面跳转时,会发现怎么设置都停留在当前页面,无法跳转到别的页面,一般的原因有两种: 第一种: 在form表单中,使用button标签没有设置type=button,所
    浏览:4096

Copyright © 2014-2022 seozhijia.net 版权所有-粤ICP备13087626号-4