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前置形成函数声明,函数声明后加()会报语法错误


												

JavaScript知识点整理 (二)的更多相关文章

  1. JS知识点整理(二)

    前言 这是对平时的一些读书笔记和理解进行整理的第二部分,第一部分请前往:JS知识点整理(一).本文包含一些易混淆.遗漏的知识点,也会配上一些例子,也许不是很完整,也许还会有点杂,但也许会有你需要的,后 ...

  2. JavaScript知识点整理(一)

    JavaScript知识点(一)包括 数据类型.表达式和运算符.语句.对象.数组. 一.数据类型 1) js中6种数据类型:弱类型特性 5种原始类型:number(数字).string(字符串).bo ...

  3. Javascript 知识点整理

    1.十进制和十六进制相互转换 /* 十六进制转十进制 */ var test = FF; var x = parseInt(test ,16); //方法一 x = parseInt('0x'+tes ...

  4. JavaScript知识点整理

    1.JavaScript的定义 JavaScript是一种专门为与网页交互而设计的脚本语言.有下列三部分组成 ①ECMAScript,提供核心语言功能 ②文档对象模型(DOM),提供访问与操作网页内容 ...

  5. 干货 Elasticsearch 知识点整理二

    目录 root object mate-field 元数据字段 mapping-parameters 动态mapping(dynamic mapping) 核心的数据类型 精确匹配与全文检索 精确匹配 ...

  6. JavaScript易错知识点整理

    前言 本文是我学习JavaScript过程中收集与整理的一些易错知识点,将分别从变量作用域,类型比较,this指向,函数参数,闭包问题及对象拷贝与赋值这6个方面进行由浅入深的介绍和讲解,其中也涉及了一 ...

  7. JavaScript 易错知识点整理

    本文是我学习JavaScript过程中收集与整理的一些易错知识点,将分别从变量作用域,类型比较,this指向,函数参数,闭包问题及对象拷贝与赋值这6个方面进行由浅入深的介绍和讲解,其中也涉及了一些ES ...

  8. JavaScript易错知识点整理[转]

    前言 本文是我学习JavaScript过程中收集与整理的一些易错知识点,将分别从变量作用域,类型比较,this指向,函数参数,闭包问题及对象拷贝与赋值这6个方面进行由浅入深的介绍和讲解,其中也涉及了一 ...

  9. web前端面试知识点整理

    一.HTML5新特性 本地存储 webStorage websocket webworkers新增地理位置等API对css3的支持canvas多媒体标签新增表单元素类型结构标签:header nav ...

随机推荐

  1. lvm的vg扩容

    本次扩容的目的是要扩展 / 的整体容量,具体操作如下: 1.首先查看是否存在未分配的磁盘 [root@NH-Test-44 ~]# fdisk -l Disk /dev/vda: 53.7 GB, 5 ...

  2. nginx浏览目录

    [root@localhost domains]# vi web.jd.com location / proxy_set_header X-Forwarded-For $proxy_add_x_for ...

  3. Jmeter-线程组

    1.Sampler 取样器(Sampler)是性能测试中向服务器发送请求,记录响应信息,记录响应时间的最小单元,JMeter 原生支持多种不同的sampler , 如 HTTP Request Sam ...

  4. libcrypto.so.1.0.0内容丢失导致sshd无法运行解决方案

    libcrypto.so.10丢失导致sshd无法运行解决方案 服务器由于掉电开启系统后无法远程ssh,重启sshd服务弹如下图的错误: /usr/sbin/sshd:error while load ...

  5. SVG动画-基础篇

    参考资料: http://www.w3school.com.cn/svg/index.asp https://msdn.microsoft.com/zh-cn/library/gg193979 简介 ...

  6. 20155205 2016-2017-2 《Java程序设计》第4周学习总结

    20155205 2016-2017-2 <Java程序设计>第4周学习总结 教材学习内容总结 第六章 private成员会被继承,只不过子类无法直接存取,必须通过父类提供的方法来存取(若 ...

  7. Uva 11076 Add Again (数论+组合数学)

    题意:给你N个数,求把他们的全排列加和为多少 思路:对于这道题,假设数字k1在第一位,然后求出剩下N-1位的排列数num1,我们就可以知道k1在第一位时 排列有多少种为kind1, 同理,假设数字k2 ...

  8. MYSQL数据库导入大数据量sql文件失败的解决方案

    1.在讨论这个问题之前首先介绍一下什么是"大数据量sql文件". 导出sql文件.选择数据库-----右击选择"转储SQL文件"-----选择"结构和 ...

  9. boostrap详情解毒

    详解Bootstrap表单组件 表单常见的元素主要包括:文本输入框.下拉选择框.单选框.复选框.文本域.按钮等.下面是不同的bootstrap版本: LESS:  forms.less SASS:  ...

  10. Java线程池使用和分析(二) - execute()原理

    相关文章目录: Java线程池使用和分析(一) Java线程池使用和分析(二) - execute()原理 execute()是 java.util.concurrent.Executor接口中唯一的 ...