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前置形成函数声明,函数声明后加()会报语法错误
JavaScript知识点整理 (二)的更多相关文章
- JS知识点整理(二)
前言 这是对平时的一些读书笔记和理解进行整理的第二部分,第一部分请前往:JS知识点整理(一).本文包含一些易混淆.遗漏的知识点,也会配上一些例子,也许不是很完整,也许还会有点杂,但也许会有你需要的,后 ...
- JavaScript知识点整理(一)
JavaScript知识点(一)包括 数据类型.表达式和运算符.语句.对象.数组. 一.数据类型 1) js中6种数据类型:弱类型特性 5种原始类型:number(数字).string(字符串).bo ...
- Javascript 知识点整理
1.十进制和十六进制相互转换 /* 十六进制转十进制 */ var test = FF; var x = parseInt(test ,16); //方法一 x = parseInt('0x'+tes ...
- JavaScript知识点整理
1.JavaScript的定义 JavaScript是一种专门为与网页交互而设计的脚本语言.有下列三部分组成 ①ECMAScript,提供核心语言功能 ②文档对象模型(DOM),提供访问与操作网页内容 ...
- 干货 Elasticsearch 知识点整理二
目录 root object mate-field 元数据字段 mapping-parameters 动态mapping(dynamic mapping) 核心的数据类型 精确匹配与全文检索 精确匹配 ...
- JavaScript易错知识点整理
前言 本文是我学习JavaScript过程中收集与整理的一些易错知识点,将分别从变量作用域,类型比较,this指向,函数参数,闭包问题及对象拷贝与赋值这6个方面进行由浅入深的介绍和讲解,其中也涉及了一 ...
- JavaScript 易错知识点整理
本文是我学习JavaScript过程中收集与整理的一些易错知识点,将分别从变量作用域,类型比较,this指向,函数参数,闭包问题及对象拷贝与赋值这6个方面进行由浅入深的介绍和讲解,其中也涉及了一些ES ...
- JavaScript易错知识点整理[转]
前言 本文是我学习JavaScript过程中收集与整理的一些易错知识点,将分别从变量作用域,类型比较,this指向,函数参数,闭包问题及对象拷贝与赋值这6个方面进行由浅入深的介绍和讲解,其中也涉及了一 ...
- web前端面试知识点整理
一.HTML5新特性 本地存储 webStorage websocket webworkers新增地理位置等API对css3的支持canvas多媒体标签新增表单元素类型结构标签:header nav ...
随机推荐
- C# 通过反射实现类似MVC路由的机制
最近封装了个功能非常类似于MVC的路由.//MVC路由机制先找到Controller Action 什么是反射 反射(Reflection)是.NET中的重要机制,通过放射,可以在运行时获 得.NET ...
- FastDFS分布文件系统相关资料索引
FastDFS是为互联网应用量身定做的一套分布式文件存储系统,非常适合用来存储用户图片.视频.文档等文件.对于互联网应用,和其他分布式文件系统相比,优势非常明显.具体情况大家可以看相关的介绍文档,包括 ...
- Redis数据迁移方案
场景 Redis实例A ---> Redis实例B,整库全量迁移 方案一: mac环境 brew install npm npm install redis-dump -g 针对RedisA: ...
- vuejs模板使用方法
vuejs的模板功能很强大,下面是一些demo <!DOCTYPE html> <html lang="en"> <head> <meta ...
- Linux 和 Windows 下实现多进程的方式以及管道操作
一.多进程 1.windows 多进程 使用 #include<windows.h> 下面的 BOOL CreateProcess( LPCWSTR pszImageName, LPCWS ...
- git操作详解
前言:一般公司git的master主干与线上代码保持一致,在使用git的时候,偶尔会发生一些莫名其妙的事情,很容易导致运营事故.so- 总结一下经常使用的git命令以及git的一些小坑,方便日后查阅 ...
- Lvs工作原理
DR模式的工作过程: 当一个client发送一个WEB请求到VIP,LVS服务器根据VIP选择对应的real-server的Pool,根据算法,在Pool中选择一台Real-server,LVS在ha ...
- Dubbo的配置及使用
1. Dubbo是什么? Dubbo是一个分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案,以及SOA服务治理方案.简单的说,dubbo就是个服务框架,如果没有分布式的需求,其实是不需 ...
- Java第二章 变量
1.什么是变量? 存储数据的基本单位. 2.数据类型分为: 基本类型和引用数据 3.基本数据类型和引用数据类型的区别: 基础数据:不同的变量会分配不同的存储空间,改变一个变量不会影响另一个变量 引用数 ...
- Fragment防止自动清理 (ViewPager滑动时,滑出屏幕后被清理)(转)
原文链接:http://www.xuebuyuan.com/2231000.html 这个问题网上搜一搜发现帖子很多,但是博主试了几种好像没有说的那么好用 一. 比如给ViewPager设置长度,以增 ...