zoukankan      html  css  js  c++  java
  • 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前置形成函数声明,函数声明后加()会报语法错误


    
    
  • 相关阅读:
    Oracle:PL/SQL--流程控制——作业练习:向表中循环插入ID编号
    Oracle:PL/SQL--流程控制(三)——循环结构:loop、while-loop、for-loop
    Oracle:PL/SQL--流程控制(三)——循环结构:loop、while-loop、for-loop
    Oracle:PL/SQL--打开控制台or关闭控制台
    Win10远程桌面及防火墙配置
    H3C-Telnet
    网络工程师(软考)心得
    《网络工程师 考前冲刺100题》思维导图
    《2019上半年网络工程师考试大纲》
    网络设计:搭建校园网(组网工程课设)【译】
  • 原文地址:https://www.cnblogs.com/Lovebugs/p/6445797.html
Copyright © 2011-2022 走看看