前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >前端小知识10点(2019.5.2)

前端小知识10点(2019.5.2)

作者头像
进击的小进进
发布2022-03-28 14:57:30
3900
发布2022-03-28 14:57:30
举报
文章被收录于专栏:前端干货和生活感悟

1、为什么 jQuery 整体上是一个匿名函数自调用?

因为匿名函数自执行里面的所有东西都是局部的,这样引用 jQuery 时,能防止和其他的代码冲突。


2、jQuery 静态方法和实例方法的区别

  • $() 是调用 jQuery 方法返回的一个 jQuery 对象,$() 调用的方法是实例方法,实例方法只能为 $() 所用 如:$("li").each()
  • $ 是 jQuery 函数(方法),$ 调用的方法是静态方法/工具方法,静态方法既可以给 $() 调用,也可以给原生 javascript 调用 如:$().each()

3、为什么 typeof null 的结果是 object ?

代码语言:javascript
复制
console.log(typeof null) //object

在 JavaScript 最初的实现中,JavaScript 中的值是由一个表示类型的标签和实际数据值表示的。对象的类型标签是 0。由于 null 代表的是空指针(大多数平台下值为 0x00),因此,null的类型标签也成为了 0,typeof null就错误的返回了"object"。

MDN链接:https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Operators/typeof


4、undefined 不是 js 的关键字 我们习惯在项目里这样判断是否为 undefined

代码语言:javascript
复制
name===undefined?'a':'b'

但一旦手动定义 undefined 并且赋值了,那么会覆盖掉 js 的变量类型 undefined

代码语言:javascript
复制
let undefined='a'
console.log(undefined) //a

所以,在做项目中,不要给变量起名为 undefined,并赋值


5、利用原型,来节省内存 A:

代码语言:javascript
复制
   function person(name){
      this.name=name
      this.showName=function(){
        console.log(this.name)
      }
    }

B:

代码语言:javascript
复制
    function personA(name) {
      this.name=name
    }
    personA.prototype={
      showName:function () {
        console.log(this.name)
      }
    }

使用方法 A 来 new 对象时,每个对象都要定义一遍 showName 方法,这会增加浏览器的内存 而使用方法 B new 对象的话,每个对象都共享了原型的方法,从而节省内存


6、new 一个对象,一般经过四个步骤 (1)创建一个新对象 (2)将构造函数的作用域赋值给该对象(即 this 指向该对象) (3)执行构造函数的代码 (4)返回该新对象 注意:new 关键字的重要作用就是把 实例对象的 this 与 原型链相关联


7、数组的index(array[-5]=?)

代码语言:javascript
复制
    let a=[1,2,3]
    //-1 相当于 a.length-1=2
    console.log(a[2])
    //-3 相当于 a.length-3=0
    console.log(a[0])

    //-5 相当于 a.length-5=-2
    //-2 相当于 a.length-2=1
    //即 -5 相当于a[1]
    console.log(a[1])

8、antd的<Input>的 allowClear 作用是清除value的值,如果你的value是保存在state里的话,也是可以清除的

代码语言:javascript
复制
<Input 
    value={this.state.value}
    allowClear
/>

9、对象有中文属性,如何通过解构赋值的方式去获取中文属性?

代码语言:javascript
复制
  let obj={'哈哈':1}
  const {'哈哈':b}=obj
  const {a:{'嘿嘿':b}}=obj 
  console.log(b,'b24') //1

10、对象解构赋默认值

代码语言:javascript
复制
//默认设为noa
const {a='noa'}=obj
//默认设为nob
const {a:{b='nob'}}=obj
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-05-02,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 webchen 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档