JS重要知识点总结-不完善

###1、闭包

??闭包就是能够读取其他函数内部变量的函数。由于在Javascript语言中,只有函数内部的子函数才能读取局部变量,因此可以把闭包简单理解成"定义在一个函数内部的函数"。所以,在本质上,闭包就是将函数内部和函数外部连接起来的一座桥梁。`闭包的作用是为了防止全局变量泛滥`。

*`使用闭包的注意点:`*

* 1)由于闭包会使得函数中的变量都被保存在内存中,内存消耗很大,所以不能滥用闭包,否则会造成网页的性能问题,在IE中可能导致内存泄露。解决方法是,在退出函数之前,将不使用的局部变量全部删除。

* 2)闭包会在父函数外部,改变父函数内部变量的值。所以,如果你把父函数当作对象(object)使用,把闭包当作它的公用方法(Public Method),把内部变量当作它的私有属性(private value),这时一定要小心,不要随便改变父函数内部变量的值。

###2、变量提升

??变量提升指的是在浏览器解析JS文件是,把定义的变量或者函数会先解析,然后在解析其他代码,也就是说,JS当中可以先使用变量,然后在定义。但是

如果在定义变量的时候,给变量进行了初始化的话,该变量是不会被提升的!附:在es6代码规范中,必须先定义变量,才可以使用变量。

###3、高阶函数

??高阶函数其实很简单,只要输出形式是print(‘hello‘)(‘world‘);的就行。例如:

javascript:

var Moqi = function(p1){

this.add = function (p2){

return p1 + ‘ ‘ + p2;

};

return add;

};

console.log(Moqi(‘Hello‘)(‘World‘));

###4、Callback回调函数

* jQuery Callback 函数

当动画 100% 完成后,即调用 Callback 函数。

典型的语法:

`$(selector).hide(speed,callback);`

callback参数是一个在 hide 操作完成后被执行的函数。

错误(没有 callback):

$("p").hide(1000); alert("The paragraph is now hidden");

正确(有 callback):

`$("p").hide(1000,function(){ alert("The paragraph is now hidden"); });`

结论:如果您希望在一个涉及动画的函数之后来执行语句,请使用 callback 函数。

凡是由你设计却由windows系统呼叫的函数,统称为callback函数。某些API函数要求以callback作为你参数之一。

如SetTimer,LineDDA,EnumObjects。回调函数是由开发者按照一定的原形进行定义的函数(每个回调函数都必须遵循这个原则来设计)

时间: 2024-08-24 18:59:27

JS重要知识点总结-不完善的相关文章

js基础知识点收集

js基础知识点收集 js常用基本类型 function show(x) { console.log(typeof(x)); // undefined console.log(typeof(10)); // number console.log(typeof('abc')); // string console.log(typeof(true)); // boolean console.log(typeof([])); // object console.log(typeof(function (

js基础知识点总结

js基础知识点总结 如何在一个网站或者一个页面,去书写你的js代码:1.js的分层(功能):jquery(tool) 组件(ui) 应用(app),mvc(backboneJs)2.js的规划():避免全局变量和方法(命名空间,闭包,面向对象),模块化(seaJs,requireJs) 常用内部类:Data Array Math String HTML属性,CSS属性HTML:属性.HTML属性="值":CSS:对象.style.CSS属性="值"; class和f

JS重要知识点

这里列出了一些JS重要知识点(不全面,但自己感觉很重要).彻底理解并掌握这些知识点,对于每个想要深入学习JS的朋友应该都是必须的. 讲解还是以示例代码搭配注释的形式,这里做个小目录: JS代码预解析原理(包括三个段落): 函数相关(包括 函数传参,带参数函数的调用方式,闭包): 面向对象(包括 对象创建.原型链,数据类型的检测,继承). JS代码预解析原理 /****************** JS代码预解析原理 ******************/ /* JS代码预解析.变量作用域.作用域

Node.js的知识点框架整理

背景:因为appium是基于Node.js的,所以想看一下Node.js.但是发现很多资料的顺序看起来有点颠倒.然后就一面看资料一面整理了一下大概的知识点框架,希望对自己对别人有用. 本文不包含node.js的基本语法.node.js的基本语法和JavaScript基本一样,可以以后再单独整理一份基本语法的. Node.js是一个基于chrome V8的JavaScript运行时的环境 Node.js是事件驱动,非阻塞式I/O模型 Node.js使用npm包管理器 使用Node.js不仅实现了一

11、网页制作Dreamweaver(补充:JS零碎知识点&&正则表达式)

JS知识点 回车符/r和换行符/n的区别:/r 相当于enter,是段落与段落之间的区别, /n 相当于shift+enter,是行与行之间距离,比较小 几种window操作方法: 1.获取当前窗口大小并打印: var height=window.innerHeight; var width = window.innerWidth; document.write("<br/>"+"height"+height+","+"wi

js 面试知识点

基础           原型  原型链 作用域  闭包 异步  单线程 JS API        DOM操作 AJAX 事件绑定 开发环境    版本管理 模块化 打包工具 运行环境    页面渲染 性能优化 面试题 1.JS中使用 typeof 能得到的哪些类型? 考点:JS变量类型 JS中有哪些内置函数 JS变量按照存储方式区分为哪些类型,并描述其特点 值类型      内存地址 不会因为赋值而相互干预 引用类型   指针  节省内存空间   可以无限制扩展属性 如何理解JSON 知识点

Node.js前置知识点(一):回调函数

前言 因为开始了解和学习Node.js,发现在使用之前,有必要先知道一些前置的知识点(其实是关于操作系统的知识),主要包括: 什么是 回调函数(callback): 什么是 同步/异步: 什么是 I/O: 什么是 单线程/多线程: 什么是 阻塞/非阻塞: 什么是 事件 和 事件驱动: 什么是 基于事件驱动的 回调: 什么是 事件循环: 本文就是系列文章的第一篇,用来介绍回调函数.(参考来源 见文末的 Reference) 一 什么是 回调函数(callback) 我觉得理解一个概念,应该是从简单

JS函数知识点梳理

要想学好JavaScript除了基本的JavaScript知识点外,作为JavaScript的第一等公民--函数,我们要深入的了解.函数的多变来源于参数的灵活多变和返回值的多变.如果参数是一般的数据类型或一般对象,这样的函数就是普通函数:如果函数的参数是函数,这就是我们所要知道的高级函数:如果创建的函数调用另外一部分(变量和参数已经预置),这样的函数就是偏函数. 此外,还有一点就是可选参数(optional parameter)的使用. 函数的分类 普通函数 有函数名,参数,返回值,同名覆盖.示

【干货】JS相关知识点总结

一.获取元素方法 可以使用内置对象document上的getElementById方法来获取页面上设置了id属性的元素,获取到的是一个html对象,然后将它赋值给一个变量.如下: 上面的语句,如果把javascript写在元素的上面,就会出错,因为页面是从上往下加载执行的,javascript去页面上获取元素div1的时候,元素div1还没有加载,解决方法有两种 二.操作元素属性 1.获取页面的元素,就可以对页面元素的属性进行操作,属性的操作包括属性的读和写. 操作属性的方法:a."."