一.基本类型和引用类型的值 变量可能包含两种不同数据类型的值:基本类型值和引用类型值. 基本类型值:简单的数据段. 引用类型值:可能由多个值构成的对象. 当将一个值赋给变量时,解析器必须确定这个值是基本类型值还是引用类型值. 引用类型的值是保存在内存中的值.JavaScript不允许直接访问内存中的位置,即不能直接操作对象的内存空间. 当复制保存着对象的某个变量时,操作的是对象的引用.在为对象添加属性时,操作的是实际的对象. 1.动态的属性 对于引用类型的值,我们可以为其添加属性和方法,也可以改…
原文地址 作用域 JS中有两种作用域:全局作用域|局部作用域 栗子1 console.log(name); //undefined var name = '波妞'; var like = '宗介' console.log(name); //波妞 function fun(){ console.log(name); //波妞 console.log(eat) //ReferenceError: eat is not defined (function(){ console.log(like) //…
[一]基础 (1)什么是数据? 存储在内存里 代表特定信息 本质为0101,二进制数据 (2)什么是内存? 内存条通电后产生的可存储数据的空间(临时的) 拓展: 1.2种数据 2.内存分类--栈和堆 (3)什么是变量? (4)数据.变量.内存区别 [二]相关问题 (1)内存 (2)引用变量赋值 (3)传参问题 答案:值传递 (4)JS引擎如何管理内存 此时还有两个内存,因为这两者都在栈内存,堆内存已经释放.全局变量生命周期相关. [释放内存分情况] . .…
文章转自: http://segmentfault.com/a/1190000002666658 对于初学backbone.js的同学可以先参考我这篇文章:Backbone.js学习笔记(一) Backbone源码结构 1: (function() { 2: Backbone.Events // 自定义事件 3: Backbone.Model // 模型构造函数和原型扩展 4: Backbone.Collection // 集合构造函数和原型扩展 5: Backbone.Router // 路由…
简单例子 在这个例子中,你将会使用D3.js来将数据绑定到DOM元素上.然后再使用D3.js利用绑定到DOM元素上的数据来更新网页. 在上一章中,我们以下面这个页面作为开始的: <!DOCTYPE html> <html> <head> <script type="text/javascript" src="d3.v3.min.js"></script> </head> <body>…
4.4 小结 JavaScript变量可以用来保存两种类型的值:基本类型值和引用类型值.基本类型的值源自以下 5 种基本数据类型:Undefined.Null.Boolean.Number 和 String.基本类型值和引用类型值具 有以下特点:  基本类型值在内存中占据固定大小的空间,因此被保存在栈内存中: 从一个变量向另一个变量复制基本类型的值,会创建这个值的一个副本:  引用类型的值是对象,保存在堆内存中:  包含引用类型值的变量实际上包含的并不是对象本身,而是一个指向该对象的指针:…
写在前面,舍弃叽叽歪歪,只做学习笔记,认真踏实. 学习书籍:javascript高级程序设计3版. 章节4.1 基本类型和引用类型 1.基本类型在内存中占据固定大小的空间,所以保存在栈内存中. 2.从一个变量向另一个变量复制基本类型的值的时候,会在栈中保存另一个副本. 3.引用类型的值是对象,保存在堆内存中. 4.包含引用类型的值的变量,包含的不是对象本身,而是指向该对象的在堆内存中的位置的指针. 5.确定一个值是哪一种基本类型,可以用typeof.确定一个对象是哪一种引用类型,可以使用inst…
一  作用域(执行环境) 作用域:定义了变量和函数有权访问的其他数据,决定了他们各自的行为.--------<JS高级程序设计>4.2 好难理解啊~参考了参考尤克希的博客内容,大体上理解了作用域. 作用域:规定了函数和变量的可用的有效的范围.这样的好处是,避免了命名冲突:确定何时销毁他们,释放内存.这个作用域中所有的函数和对象,都保存在变量对象里.每个作用域都有这样一个变量对象.但是我们编写的代码是无法访问到这个对象的,解析器在处理数据时会在后台使用它. 作用域分为两类:全局作用域和函数作用域…
一   变量(基本类型和引用类型) a.基本类型保存值,保存在栈内存,引用类型保存指针,保存在堆内存: b.所有函数的参数都是按值进行传递的,不管参数是何种类型: c.检测类型 typeof                  检测五个基本类型和一个引用类型object instanceof            检测引用类型具体是什么类型的对象 二   作用域 a.全局变量 局部变量: b.延长作用域链 try-catch里的catch语句: with语句: c.没有块级作用域 if语句里的变量…
因为javascript没有块级作用域的概念,所以在块语句中定义的变量,实际上是在包括函数中而非语句中创建的. 如: function outputNumbers(count){ for(var i=0; i< count; i++){ alert(i); } alert(i); } 这个函数中定义了一个for循环,而变量 i 的初始值被设置为0.在Java.C++等语言中,变量i仅仅会在for循环的语句块中有定义,循环一旦结束,变量i就会被销毁.但是Javascript中,变量i是定义在out…
1 . Object 对象    2 . Array 对象 :       检测方法:ES5 : isArray       转换方法: toLocaleString , toString , valueOf. 输出的时候,默认调用的是toString方法      栈方法:pop , push      队列方法 : shift , unshift      重排序方法:           reverse : 反转                sort : 对数组排序 , sort 默认比…
变量的作用域(作用域:指的就是一段代码的作用范围) 一.变量的作用域 1.全局变量(在代码中任何地方都能够访问得到的变量,拥有全局的作用域) A.最外层函数外面定义的变量 var a=1; function aa(){ alert(a); }; aa(); 结果:1 B.没有定义直接赋值的变量,拥有全局属性 var a; function aa(){ a=1; }; aa(); alert(a); 结果:1 2.局部变量(只能在固定的代码片段(函数片段中)中访问得到)----可以提高程序的逻辑性…
在前一篇文章中,我们把作用域定义为"管理.维护变量的一套规则",接下来是时候来深入讨论一下Js的作用域问题了,首先我们要知道作用域一般有两种主要的工作类型,一种是词法作用域,一种是动态作用域, Javascript采用的是词法作用域, 关于动态作用域的有兴趣的可以自行Google. 1.词法阶段 首先我们要理解"词法阶段"这个词语,我们已经了解到Js存在一个编译阶段,编译阶段的第一步就是分词/词法分析,我们可以简称为"词法阶段" 简单来说,词法作…
Robot Framework的变量分为标量, 列表和字典, 分别使用语法格式 ${SCALAR}, @{LIST} 和 &{DICT} 来定义. 此外, 环境变量可以直接使用语法 %{ENV_VAR} 来获取. 标量,可理解为单值变量,与之对应的是List这种多值变量.单值不仅仅像是字符串.数值这样的,还有可能是个对象或者字典.只有带@标识的变量能够确认是List变量,而带$标识的变量则要取决于它的变量名或者变量值,才能确定它到底是什么变量,特别是变量值.因为变量之间是可以转换的,例如使用$标…
在 Vue.js 框架中,与 HTML 页面元素的交互方式没有像原生 JavaScript 接口那么直接,它是通过先在 HTML 元素标签中嵌入一系列类似于普通标签属性的 Vue 指令属性来绑定数据,然后再通过在 JavaScript 代码中修改这些被绑定的数据来修改页面元素的显示方式与内容.在编程方法上,我们通常将这种用数据内容的变化来驱动整个程序业务运作的方式称之为"数据驱动开发".这部分笔记将记录如何利用数据驱动的开发方式来完成数据绑定.事件响应,以实现控制页面元素与 CSS 样…
1.接受参数:get 和 post login.html <form action="./login" method="get"><!--method=""--> <table> <tr> <td>姓名:</td> <td><input type="text" name="sex"/></td> &l…
参考资料: 1. http://www.w3school.com.cn/js/js_datatypes.asp 2. http://blog.sina.com.cn/s/blog_85c1dc1001013u7z.html ☂ 知识点: ☞ Javascript拥有动态类型. ☞ undefined表示变量不含值. ☞ null用于清空变量. 字符串 var answerOne="Nice to meet you!"; var answerTwo="He is called…
第1章 js简介 1.js由三部分组成,ECMAScript, DOM, BOM. 第2章 在HTML中使用js 1.把<script>标签放在<body>里面的最后,可以在加载js文件前显示页面内容,对用户友好. 2.<script>标签的defer属性表示脚本延迟到页面解析完再执行,async表示表下载脚本边加载HTML,相当于异步. 第3章 基本概念 1.js一切都区分大小写.标识符第一位不能是数字. 2.js五种基本类型:undefined,null,boole…
js中的运算符和流程控制,循环,判断语句都和C#基本一致,但又有其独特的运算符. typeof运算符 获得数据的数据类型,如number,string等.语法: string typeof(变量); 如 var num=123; typeof num;或typeof(num); 等于和不等于(2种) == 和 != 只看结果是否相同(隐式转换的问题)  === 和 !== 看类型与结果是否都一致 键值形式(json格式) 当对象的字面值声明方式为var o = {name1:"张三",…
1. AngularJS 是一个 JavaScript 框架.它可通过 <script> 标签添加到 HTML 页面.AngularJS 通过 指令 扩展了 HTML,且通过 表达式 绑定数据到 HTML. 2. AngularJS 是一个 JavaScript 框架.它是一个以 JavaScript 编写的库.AngularJS 是以一个 JavaScript 文件形式发布的,可通过 script 标签添加到网页中: <script src="http://apps.bdim…
模块是 Node.js 应用程序的基本组成部分,文件和模块是一一对应的.一个 Node.js 文件就是一个模块,这个文件可能是 JavaScript 代码.JSON 或者编译过的 C/C++ 扩展. 由于JavaScript没有模块系统,所以Node.js依靠CommonJS规范自身实现了模块系统. 模块的简单使用--exports .require 和 module 在编写和使用每个模块时,Node.js都有require.exports.module三个预先定义好的变量可供使用. expor…
"闭包是函数和声明该函数的词法环境的组合." 这是MDN上对闭包的定义. <JavaScript高级程序设计>中则是这样定义的:闭包是指有权访问另一个函数作用域中的变量的函数. 个人更倾向于MDN的闭包定义,原因有三: 其一,如果仅将闭包定义为可访问其父作用域(链)的局部变量的函数,那么就忽视了它持有外部环境(使外部作用域不被销毁)的意义. 其二,闭包有权访问的必然是其父作用域(链)中的局部变量,"另一个函数作用域"的说法不够明确清晰. 其三,就是本篇博…
Node.js 异步编程的直接体现就是回调. 那什么是回调呢?回调指的是将一个函数作为参数传递给另一个函数,并且通常在第一个函数完成后被调用.需要指明的是,回调函数不是由该函数的实现方直接调用,而是在特定的事件或条件发生时由另外的一方调用的,用于对该事件或条件进行响应.回调函数在完成任务后就会被调用,Node 使用了大量的回调函数,Node 所有 API 都支持回调函数.例如,我们可以一边读取文件,一边执行其他命令,在文件读取完成后,我们将文件内容作为回调函数的参数返回.这样在执行代码时就没有阻…
1.变量命名的注意事项 1)可理解性 变量要望文知义,看到这个变量不用看其他的代码就知道这个变量表示什么意思 好的变量命:currentDate, heartRate 糟糕的变量名:newButton, peopleCnt 2)可读性 变量不仅要可理解,还要容易读,要是变量像这样:numberOfShitsInChinaMansFootballNationalTeam,太长了,会疯掉的 研究发现,变量名的长度在8~20各字符的长度时是易于调试的,因此上面的变量可以改为numShitsInTeam…
作用域是程序的一个区域,一般来说有三个地方可以定义变量: 在函数或一个代码块内部声明的变量,称为局部变量. 在函数参数的定义中声明的变量,称为形式参数. 在所有函数外部声明的变量,称为全局变量. 局部变量 在函数或一个代码块内部声明的变量,称为局部变量.它们只能被函数内部或者代码块内部的语句使用.下面的实例使用了局部变量: #include <iostream> using namespace std; int main () { // 局部变量声明 int a, b; int c; // 实…
1.工厂模式 ex: function createPerson( name, age, job) { var o = new Object() ; o.name = name; o.job = job; o.sayName = function() { alert(this.name); }; return o; } var person1 = createPerson("Nicholas", 29, "Software Engineer"); var perso…
用A链接对象解析url的组成 var url = 'https://www.baidu.com:8080/aaa/1.html?id=10#name'; var aLink = document.createElement('a'); aLink.href = url; console.log(aLink);//<a href="https://www.baidu.com:8080/aaa/1.html?id=10#name"></a> console.log(…
本篇将在上一篇的基础上记录文本渲染.表达式.过滤器以及常用指令的简单用法. 一.文本渲染 Vue支持动态渲染文本,即在修改属性的同时,实时渲染文本内容.同时为了提高渲染效率,也支持只渲染一次,即第一次渲染出文本后,文本内容不再跟随属性值的变化而变化. 实时渲染 <div class="row"> <h2>文本 - 实时渲染</h2> <input type="text" v-model="msg" cla…
Vue.js不支持IE8及以下的版本,因为vue使用了IE8无法模拟的ECMAScript5的特性,它支持所有兼容ECMAScript5的浏览器. <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initi…
express是nodejs的一个轻量级框架. express的功能很简单, 功能依赖中间件. 安装:在你的项目文件价里打开cmd窗口,在里面使用npm工具(就是在cmd里输入 npm install express)下载express.   用法: 1.创建服务: var server=express(); 2.监听 server.listen(); 3.处理请求 server.use('地址',function(req,res){ });   express简单示例: const expre…