JS基础学习——闭包】的更多相关文章

JS基础学习--闭包 什么是闭包 闭包的定义如下,它的意思是闭包使得函数可以记住和访问它的词法范围,即使函数是在它声明的词法范围外执行.更简单来讲,函数为了自己能够正确执行,它对自己的词法范围产生闭包,在它执行完毕释放之前,它会阻止相关的词法范围提早关闭释放. Closure is when a function is able to remember and access its lexical scope even when that function is executing outsid…
JS基础学习--对象 什么是对象 对象object是JS的一种基本数据类型,除此之外还包括的基本数据类型有string.number.boolean.null.undefined.与其他数据类型不同的是,对象是一种复合值,由多个键值对组成,这些键值对也可以看成对象的属性集合,键为属性名,值为属性值(任意数据类型). object又可以分成多种子类型,称为JS的内置对象,包括String.Number.Boolean.Function.Array.Data.RegExp(regular expre…
JS基础学习--作用域 什么是作用域 变量的作用域就是变量能被访问到的代码范围,比如在下面的这个js代码中,变量a的作用域就是函数foo,因此在全局作用域内的console.log(a)语句不能访问到变量a,报ReferenceError错误. function foo() { var a =3; console.log(a); } foo();/*3*/ console.log(a);/*ReferenceError: a is not defined*/ 作用域可以分为词法作用域和动态作用域…
2012年就已经接触过了js,给我的印象:这是一门谈不上复杂的语言.大概这就是所谓的学的越浅,用的越少,觉得自己会的东西好像得更多吧!开始做基础练习题的时候觉得好像都十分简单.可是后来在做到对象数组的部分还是遇到了问题,接着发现自己其实并不非常了解js.首先来说说我在codefordream基础学习的情况吧 基础部分主要学习的有:注释符号,数据类型,算数运算,逻辑术语,判断语句,循环语句,及function. 简单的可以说说的是,由于长期使用其他语言的原因,js对于数组的遍历其实有一点区别: 最…
最近在帮学校做个课程网站,就有人推荐用jquery+ajax+handlebars做网站前端,刚接触发现挺高大上的,于是就把一些基础学习笔记记录下来啦. 1.引用文件: jquery.js文件下载:http:///jquery.com                handlebars.js文件下载:http://handlebarsjs.com/ <span style="white-space:pre"> </span><script type=&qu…
1 JS 概述 一个完整的javascript实现是由以下3个不同部分组成的: (1)     核心(ECMAscript) (2)     文档对象模型(DOM)  Document object model (整合js,css,html) (3)     浏览器对象模型(BOM) Broswer object model(整合js和浏览器) (4)     Javascript在开发中绝大多数情况是基于对象的,也是面向对象的 ECMAscript描述了以下内容: 语法 类型 语句 关键字 保…
Vue.js学习笔记 目录 Vue.js学习笔记 ES6语法 1.不一样的变量声明:const和let 2.模板字符串 3.箭头函数(Arrow Functions) 4. 函数的参数默认值 5.Spread / Rest 操作符 6.二进制和八进制字面量 7.对象和数组解构 8.对象超类 9.for...of 和 for...in 10.ES6中的类 1.基本认识vue MVVM 模式 View 层 Model 层 ViewModel 层 Vue实例的options vue实例的生命周期 2.…
近来一直在学习js和jquery.刚刚进入前端工作还没有多久,虽然大学里学习的是编程自认为也学的还可以,但前端接触的不多,一直认为前端十分简单.其实不然,特别是工作的时候要自己设计一个完整的项目前端,发现其中还是有许多的问题,需要去摸索的.因为项目的需求,我其实先学的是jquery,但jquery是基于js的所以我差不多是两者一起学习.近来项目已经进行了一段时间,所以想记录一下自己学习的过程,分享一点微薄经验给大家.如果有什么问题,十分乐意大家指出. (一).javascript的核心: 1.E…
前言:在Node.js学习(二)和(三)中介绍了如何在Node.js 中获取登录的用户名和密码与数据库进行验证并返回数据给客户端 需求:实现注册功能 为了区分登录和注册是两个不同的请求,在端口后面加上/login表示登录,/register表示注册,交给后台处理 前端代码还是和之前的一样,控制好请求的URL即可 Node.js 服务端代码如下: 1.监听端口的node-post.js(Controller层) /** * Created by LB on 2017/10/27. */ var h…
昨天把网站上的基础知识看完了,下面是剩下的部分 第六节 JS Window浏览器对象模型 JavaScript全局对象,函数,变量均自动成为window对象的成员. 1.Window对象 1.获取浏览器窗口的尺寸 var w = window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth; var h = window.innerHeight || document.document…
首先感谢 http://www.w3school.com.cn/js/index.asp 学js真的很方便,&下面的内容其实是我自己做的一个备忘 第一节 大致了解 一 js基本介绍 1.轻量级脚本语言 2.可插入html,插入后可使用浏览器执行 二 js输出 document.write("中间写你要输出的东西");//在加载完全部文字后,再次使用它,会覆盖之前的内容 alert("弹出框,输入你要弹出的东西"); 三 js对事件作出反应 <butto…
简介 一个定义在函数内部的函数与包含它的外部函数构成了闭包,内部函数可以访问外部函数的变量,这些变量将一直保存在内存中,直到无法再引用这个内部函数. 例如: var a = 0; function outerFun(i) { var b = i; function innerFun(j) { var c = j; console.log("全局变量:"+a); console.log("外部变量:"+b); console.log("内部变量:"…
本篇介绍Node.js访问数据库并返回数据给客户端 需求基于Node.js学习(二) 数据库请下载:user.sql 1.创建user 实体类(model-user.js) function User(id,userName,userPsw){ this.id = id; this.userName = userName; this.userPsw = userPsw; } // getter User.prototype.getUserName = function () { return t…
本篇介绍下 Node.js post 请求 需求: 用户登录,前端界面输入用户名和密码,点击登录请求后台验证,根据后台反馈的信息做出响应 前端: (1)使用form表单 (2)使用ajax异步请求 服务端: (1)创建接口供前端请求 (2)获取数据并与固定数据 / 数据库进行对比验证,返回结果给前端 前端驱动后端,先贴前端代码 <form> <label> <span>用户名</span> <input type="text" pl…
本人从事的是前端开发,这段时间公司开发项目比较少所以就想着学点东西,然后就想到了Node.js ,跟着菜鸟教程学了点,不过我觉得最好的学习方法是带着需求来学习. 其实和服务端打交道无非就是能有一个可以访问的接口,互相给数据. 所以第一步就是用node.js 创建一个接口,给客户端浏览器进行访问,而客户端访问分为 POST 和 GET 两种 最简单的无非使用 GET 在地址栏访问,或者用 <a> 标签进行访问 1.GET 地址栏访问 服务端代码(node-get.js) var http = r…
1. "闭包就是跨作用域访问变量." [示例一] var name = 'wangxi' function user () { // var name = 'wangxi' function getName () { console.log(name) } getName() } user() // wangxi 在 getName 函数中获取 name,首先在 getName 函数的作用域中查找 name,未找到,进而在 user 函数的作用域中查找,同样未找到,继续向上回溯,发现在…
近期项目的前端页面准备引入Vue.js,看了网上一些简介,及它和JQuery的对比,发现对于新入门的前端开发来说,Vue 其实也是比较适用的一个框架,其实用性不比JQuery差,感觉还挺有意思,于是研究了 一下其基本用法,下面是整理出来的学习例子(有官网上的,也有自己消化以后整理的),希望对大家有参考价值. <html> <head> <title>Vue test</title> </head> <body> <div id=…
作用域 作用域简单来说就是一个变量的作用范围.在JS中作用域分成两种: 1.全局作用域 直接在script标签中编写的代码都运行在全局作用域中全局作用域在打开页面时创建,在页面关闭时销毁.全局作用域中有一个全局对象window,window对象由浏览器提供,可以在页面中直接使用,它代表的是整个的浏览器的窗口.在全局作用域中创建的变量都会作为window对象的属性保存在全局作用域中创建的函数都会作为window对象的方法保存在全局作用域中创建的变量和函数可以在页面的任意位置访问.在函数作用域中也可…
类型转换 类型转换就是指将其他的数据类型,转换为String Number 或 Boolean 转换为String 方式一(强制类型转换): 调用被转换数据的toString()方法例子:var a = 123;a = a.toString();注意:这个方法不适用于null和undefined由于这两个类型的数据中没有这个方法,所以调用toString()时会报错 方式二(强制类型转换): 调用String()函数例子: 12 var a = 123; a = String(a); 原理:对于…
Vue.js学习笔记(二) 4.模块化开发 ES6模块化的导入和导出 我们使用export指令导出了模块对外提供的接口,下面我们就可以通过import命令来加载对应的这个模块了 首先,我们需要在HTML代码中引入两个js文件,并且类型需要设置为module import指令用于导入模块中的内容.比如main.is的代码 导出方法: var name = '小明'; var age = 18; var flag = true; function sum(num1, num2) { return n…
1.工作原理 当通过app.js建立的服务器时,会看到一个简单的页面.返回页面时,浏览器会向服务器发送请求.app会解析请求的路径,调用相应的逻辑,调用对应的视图模板,传递对象数值,最终生成HTML页面,返回给浏览器. 当浏览器接收到内容后,通过分析获取 /stylesheets/style.css,因此会再向服务器发起请求. 此时,app并没有一个路由规则指派到/stylesheets/style.css,旦app会通过   var path = require('path'), app.us…
http模块,其中封装了一个高效的HTTP服务器和一个建议的HTTP客户端 http.server是一个基于事件的HTTP服务器 http.request则是一个HTTP客户端工具,用户向服务器发送请求. HTTP服务器 (1)http.Server实现,提供了一套封装级别很低的API,仅仅是流控制和简单的解析. request当客户端请求到来时,该事件被触发,提供两个参数,分别是http.ServerRequest和http.ServerResponse的实例,表示请求和相应信息. var h…
安装好nodeJs,我们需要使用命令行中安装express. 我这里默认将Node.js安装在C:\Program Files\nodCejs\盘中. 在保持联网的状态下,依次输入如下命令. npm config set prefix "C:\Program Files\nodejs\node_global" npm config set cache "C:\Program Files\nodejs\node_cache" npm install -g expres…
Module和Package是Node.js最重要的支柱. Node.j 提供require函数来调用其他模块,而且模块都是基于文件.模块和包区别是透明的,因此常常不作区分. 1.模块和文件一一对应.一个文件就是一个模块.文件可能是JS代码,JSON或者编译过的C/C++扩展. 通过是require函数获取这个模块,然后使用其中的对象. 2. Node.js提供exports和require两个对象.前者是模块公开的接口,    后者用于从外部获取一个模块的接口,获取exports对象. 3.u…
1. node -v 查看版本 node -e --js代码 node --进入编辑模式 Ctrl+C 退出编译模式 var http=require('http') http.createServer(function(req,res){ res.writeHead(200,{'Content-Type':'text/html'}); res.write('<h1>Hello world</h1>'); res.end('<p>china</p>'); }…
一. Three.js官网及使用Three.js必备的三个条件 1.Three.js 官网 https://threejs.org/ 2.使用Three.js必备的三个条件(To actually be able to display anything with Three.js, we need three things: A scene, a camera, and a renderer so we can render the scene with the camera.) 大致意思是使用…
node.js 是一个 javaScript 运行环境,可以让 js 运行在服务端. 在 nodejs 环境下,可以运行 javascript 基本语法,可以在nodejs 中执行一些无法在浏览器端执行的语法. nodejs 中可以实现模块化开发.开发流程: (1)使用module.exports.变量名 = 变量值  的方式对外抛出内容: (2)在另一个模块中使用require方法引入前面的模块,并使用其中的变量或方法. 全局变量的使用:    (1)使用 global.x = 100  声明…
事件(可以被 JavaScript 侦测到的行为) 主要事件表: 加载事件(onload) 事件会在页面加载完成后立即发生,同时执行被调用的程序. 卸载事件(onunload) 当用户退出页面时(页面关闭.页面刷新等),触发onUnload事件,同时执行被调用的程序. 注意:不同浏览器对onunload事件支持不同. 获取或设置 元素的值 document.getElementById( 'id' ).value 获取或设置 id名的值. parseInt() 函数 解析一个字符串,并返回一个整…
2.1  输出内容(document.write) document.write() 可用于直接向 HTML 输出流写内容.简单的说就是直接在网页中输出内容. 第一种:输出内容用“”括起,直接输出""号内的内容. <script type="text/javascript"> document.write("I love JavaScript!"); //内容用""括起来,""里的内容直接输出.…
* 在js编写过程中,尽量保持统一使用单引号 'XXXX': * 所有变量都要声明 var,避免全局函数调用的冲突: 1.1    输出内容 docment.write(‘aileLi’); 改变某ID元素样式 docment.getElementById(‘ID’).style.color=’样式参数’; 1.2   输出弹出框 alert(‘aileLi’); 1.5  什么是变量?  从字面上看,变量是可变的量: 从编程角度讲,变量是用于存储某种/某些数值的存储器. 定义变量使用关键字va…