资讯专栏INFORMATION COLUMN

前端小知识10点(2019.5.2)

yibinnn / 460人阅读

摘要:为什么整体上是一个匿名函数自调用因为匿名函数自执行里面的所有东西都是局部的,这样引用时,能防止和其他的代码冲突。对象的类型标签是。由于代表的是空指针大多数平台下值为,因此,的类型标签也成为了,就错误的返回了。

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

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

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

$() 是调用 jQuery 方法返回的一个 jQuery 对象,$() 调用的方法是实例方法,实例方法只能为 $() 所用

如:$("li").each()

$ 是 jQuery 函数(方法),$ 调用的方法是静态方法/工具方法,静态方法既可以给 $() 调用,也可以给原生 javascript 调用

如:$().each()

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

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

MDN链接:https://developer.mozilla.org...

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

name===undefined?"a":"b"

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

let undefined="a"
console.log(undefined) //a

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

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

   function person(name){
      this.name=name
      this.showName=function(){
        console.log(this.name)
      }
    }

B:

    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]=?)

    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的的 allowClear 作用是清除value的值,如果你的value是保存在state里的话,也是可以清除的

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

  let obj={"哈哈":1}
  const {"哈哈":b}=obj
  const {a:{"嘿嘿":b}}=obj 
  console.log(b,"b24") //1

10、对象解构赋默认值

//默认设为noa
const {a="noa"}=obj
//默认设为nob
const {a:{b="nob"}}=obj

(完)

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/104077.html

相关文章

  • 前端知识102019.5.18)

    摘要:当给数组的赋负数或小数时,数组的长度有无变化由此可见,的属性只计算非负整数下标不计算负数小数项目热更新慢并且是在时卡住怎么办本人实际上是文件里多写了个逗号。。。。 showImg(https://segmentfault.com/img/remote/1460000019223033); 1、当给数组的index赋负数或小数时,数组的长度有无变化? let arr=[] arr...

    neuSnail 评论0 收藏0
  • 前端知识102019.5.28)

    摘要:可以看到,这组参数,以上三条全部满足。详情请参考浏览器类别判断安全浏览器完 showImg(https://segmentfault.com/img/remote/1460000019316485); 1、火狐(firefox)的mouseenter问题 { this.mouseEnter(e,); }} onBlur={() => {...

    Imfan 评论0 收藏0
  • 前端知识102019.4.14)

    摘要:函数中最好从和读取数据,仅在宝贵的时刻用。服务端渲染将在废弃,改成这个方法会从中删除已经挂载的并且清理上面注册的事件和状态,如果中没有挂载,则调用此函数不执行任何操作。 1、React.PureComponent 与 React.Component 的区别React.PureComponent 与 React.Component 几乎完全相同,但 React.PureComponent...

    android_c 评论0 收藏0

发表评论

0条评论

yibinnn

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<