• JavaScript知识点整理 (二)


    1)函数概述

    1.函数是一块 JS 代码,被定义一次,但可以执行和调用多次。 JS 中的函数也是对象,
    所以 JS 函数可以像其它对象那样操作和传递,所以也常叫 JS 中的函数为函数对象。
    2.函数也是对象,也叫函数为函数对象。
    函数的返回值依赖return,如果没有return则返回 undefined,如果作为构造器使用 new调用的话,return 后面的是基本类型或者没有,则将 this 返回。

    3.函数调用的几种方式
    直接调用  foo()
    对象方法 o.method()
    构造器 new Foo()
    call/apply/bind  func.call(o)

     2)函数声明与表达式

    函数声明 函数表达式 函数构造器的区别:

    3)this

    全局对象中的this指的是window对象,但是在严格模式下时undefined.
    在对象中对象方法中的this值得是当前的对象,或者把函数作为对象的方法是用this都是指当前对象.
    对象原型链上的方法中的this也指的是当前对象。
    对象中的get/set方法中的this也指的是当前对象。
    构造器中的this指的是构造器函数prototype中的原型,当new一个对象时就会将构造器的prototype中的this赋值个当前对象。
    
    call():扁平的传参,
    apply():以数组的方式传参;
    bind对象绑定之后即使有新的对象,仍然会按原来的绑定走。

    判断this的指向(1-4优先级逐级递减,1优先级最高,4优先级最低):
    1、函数被new调用,this指向由new新构造出来的这个对象;
    2、函数通过call()、apply()、bind()调用,this指向被绑定的对象;
    3、函数作为方法被调用,this指向这个对象(即常说的对象上下文);
    4、默认(非严格模式)情况下,this指向window,  严格模式下,this指向undefined。

    4)闭包
    闭包的理解:
    闭包就是能够读取其他函数内部变量的函数
    可以把闭包简单理解成“定义在一个函数内部的函数”。
    所以,在本质上,闭包就是将函数内部和函数外部连接起来的一座桥梁。
    闭包的作用:
    闭包可以用在许多地方。它的最大用处有两个,一个是可以读取函数内部的变量,另一个就是让这些变量的值始终保持在内存中。
    优点:灵活和方便、封装。
    缺点:空间浪费、内存泄露、性能消耗。
    5)作用域
    1.javascript没有块级作用域(for、while、if等括号中声明变量和括号外声明变量效果一样,在语句块外仍然可以访问)
    2.javascript可以用!或+或()放在function前,为函数表达式写法,防止function前置形成函数声明,函数声明后加()会报语法错误


    
    
  • 相关阅读:
    Python 中的map函数,filter函数,reduce函数
    编程中,static的用法详解
    C++ list容器系列功能函数详解
    python中的configparser类
    310实验室OTL问题----将写好的C++文件转换成Python文件,并将数据可视化
    310实验室OTL问题
    常量指针、指针常量、指向常量的指针常量
    Iterator迭代器的相关问题
    struts2中action中的通配符
    struts2访问servlet API
  • 原文地址:https://www.cnblogs.com/Lovebugs/p/6445797.html
Copyright © 2020-2023  润新知