js 避免使用 delete

作者: 车文烨 | 来源:发表于2021-11-18 16:15 被阅读0次

如下图:

delete.png

变量b的原型指向a,同时存在同样的键时,使用delete删除b的这个键(对象和数组同理),再次获取b这个键时,会遍历原型链取找这个键,所以就有了新的值而不是undefined
为避免这样导致的错误,可以使用hasOwnProperty判断有没有这个键,而不去原型链遍历;

delete后对象还是会保留键,只是值变成undefined了,数组也一样,所以数组delete之后如果使用类似array[array.lenght - 1]来取值的话,会产生误差,因为delete的那个键还在;

相关文章

  • js 避免使用 delete

    如下图: 变量b的原型指向a,同时存在同样的键时,使用delete删除b的这个键(对象和数组同理),再次获取b这个...

  • 2020-04-09

    JavaScript篇 各司其职例:直接使用CSS类的切换(避免直接使用js改变css样式) 使用CSS代替JS例...

  • express mongoDB 删除与DELETE

    DELETE 删除数据 DELETE 使用

  • 写入、读取、更新、删除数据到文件

    storing data create read update delete index.js lib/data.js

  • 关于性能优化

    代码层面:避免使用css表达式,避免使用高级选择器,通配选择器。缓存利用:缓存Ajax,使用CDN,使用外部js和...

  • 性能优化问题

    代码层面:避免使用css表达式,避免使用高级选择器,通配选择器。 缓存利用:缓存Ajax,使用CDN,使用外部js...

  • 前端性能优化方向

    代码层面:避免使用css表达式,避免使用高级选择器,通配选择器。 缓存利用:缓存Ajax,使用CDN,使用外部js...

  • 更新laravel-wechat依赖

    一、备份原配置文件 二、删除vendor里相关依赖文件目录 如有需要,使用svn的delete,避免更新后冲突。 ...

  • vue使用小技巧

    1. lazy 2. number 3. trim 4. js中的delete & Vue.delete 5. 事...

  • Laravel5.4 迁移 Gulp 到 Webpack

    Create a webpack.mix.js file in root directory: Delete gu...

网友评论

    本文标题:js 避免使用 delete

    本文链接:https://www.haomeiwen.com/subject/quadtrtx.html