5种基本数据类型 可以直接对值操作 判断引用类型 var result = instanceof Array 执行环境 每个执行环境都有一个与之关联的变量对象,环境中定义的所有变量和函数都保存在这个对象中 执行环境的销毁 某个执行环境中的所有代码执行完毕后 该环境被销毁 保存在其中的所有变量了函数定义也会随之销毁 作用域链中的对象 全局执行环境的变更对象始终都是作用域链中的最后一个对象 没有块级作用域 if 和 for 内的变量 外部也可以访问 标记清除 不同浏览器 只不过垃圾时间的长短不同…
变量包含两种,,基本类型和引用类型 基本类型是指一些简单的字段: 引用类型是☞由多个值构成的对象  引用类型的值是保存在内存中的对象,在javascript中是不允许直接访问内存中的位置; 函数的参数是按照值类型进行传递的,函数的参数可以看作是一个局部变量. 检测类型: typeOf  用来检测基本类型的值用处大,在检测引用类型的值得时候用处不是很大  检测到的Null类型返回结果为Object, insctanceof 用来检测引用类型的值,当检测的对象是引用类型的值或者Object时返回tr…
这章讲的是JavaScript在HTML中的使用,也就是<script>元素的属性.书中详细讲了async.defer.src和type四个<script>的属性. 下面是对第二章做的笔记 <script>元素 type:可选.表示编写代码的脚本语言的类型:属性的值一般是text/javascript.不过,这个属性不是必需的,如果没有指定这个属性,则其默认值仍为text/javascript. <script type="text/javascript…
这次讲的主要是变量,作用域和内存问题. 任何一门编程语言,都涉及这三个. 变量,比如全局变量,局部变量等,作用域,也分全局作用域和方法作用域,内存问题,在java中就涉及到一个垃圾回收的问题,由于java中涉及到jvm,因此可以自动垃圾回收和内存分配,而不需要手动. 一.变量 每个变量都有其类型,数据类型.在java中分基本数据类型和引用数据类型,js同样如此. 面试题:java的基本数据类型有哪些,及其所占字节?引用类型有哪些? java基本数据类型分别为int(4),float(4),dou…
变量.作用域和内存问题 执行环境共有两种类型——全局和局部 作用域链会加长,有两种情况:try-catch语句的catch块,with语句. javascript没有块级作用域,即在if,for循环中的变量,在块结束后,并不会被销毁. 最好能手工断开原生javascript对象与DOM元素之间的连接. Object类型 创建Object实例有两种方式:new 操作符后跟Object构造函数即new Object(),对象字面量表示法即用{}表示. 可使作方括号表示法来访问对象的属性,将要访问的属…
基本类型和引用类型的值 ECMAScript变量可能包含两种不同数据类型的值:基本类型值和引用类型值.基本类型值指的是简单的数据段,而引用类型的值指那些可能有多个值构成的对象. 动态的属性 var person = new Object(); person.name = "Nicholas"; alert(person.name); // Nicholas var name = "Nicholas"; name.age = 27; alert(name.age);…
一.变量 (1)ECMAScript变量肯能包含两种不同的数据类型的值:基本类型值和引用类型值.基本类型值指的是简单的数据段,引用类型值指那些可能由多个值构成的对象. (2)基本数据类型是按值访问,可以操作保存在变量中的实际的值:引用类型的值是保存在内存中对象,操作对象时,实际上是在操作对象的引用而不是实际的对象,引用类型的值是按引用访问的. (3)传递参数.ECMScript中所有的函数的参数都是按值传递的. function setName(obj){ obj.name = "Nichola…
JavaScript 变量可以用来保存两种类型的值:基本类型值和引用类型值.基本类型的值源自以下5种基本数据类型:Undefined.Null.Boolean.Number 和String.基本类型值和引用类型值具有以下特点: 基本类型值在内存中占据固定大小的空间,因此被保存在栈内存中: 从一个变量向另一个变量复制基本类型的值,会创建这个值的一个副本: 引用类型的值是对象,保存在堆内存中: 包含引用类型值的变量实际上包含的并不是对象本身,而是一个指向该对象的指针: 从一个变量向另一个变…
第五章 引用类型 一.object类型 1.创建方法: 1.使用new 操作符创建 var person=new object() Person.name=”Nicholasa” Porson.age=28 2. 适用对象字面量创建(推荐使用) Var person={ Name:”Nicholasa”, Age:28 } 2.访问对象属性 1.使用person.Name 2.使用peerson[“name”](如果括号内是变量可以遍历数组的所有属性) 2.ARRAY类型 1.创建方法: 1. …
第二十章 JSON 1.Json 可以表示三种类型的值: 1.简单值: 表示数值:5  表示字符串:“hello wrold”注表示字符串时必须使用双引号 2.对象: {“name”:“mi”,”age”:24}与JavaScript对象有两处不同一是没有声明变量 二是没有末尾的分号json对象中属性必须带引号,对象里的值可以嵌套对象. 3.数组 Json数组表示:[25,”hi”,true]和json对象一样json里也没有分号和变量 2.json对象 1.Stringify()方法用于把ja…
第九章 一.使用能力检测 能力检测的目标不是识别特定的浏览器,而是识别浏览器的能力.能力检测的基本模式如下: if ( object.propertyInQuestion ) { //使用object.propertyInQuestion } 二.怪癖检测 与能力检测类似,怪癖检测的目标是识别浏览器的特殊行为.但与能力检测确认浏览器支持什么能力不同,怪癖检测是想要知道浏览器存在什么缺陷. 三.用户代理检测 用户代理检测技术: (1)识别呈现引擎 为了不在全局作用域中添加多余的变量,我们将使用模块…
ch3 基本概念 标签(空格分隔): JavaScript 语法 标识符 - 第一个字符必须是字母.下划线或美元 - 驼峰大小写格式 严格模式 ECMAScript5引入,定义了一种解析和执行模型.此时,ECMAScript3中的一些不确定行为将得到处理,对某些不安全的操作也会抛出错误. "use strict"; 关键字与保留字 关键字 关键字 关键字 关键字 关键字 break do instanceof typeof case else new var catch finally…
看后总结: 1.区分大小写 2.标识符是有字母下划线$开头,并有字母.下划线.数字.美元符号组成. 3.建议用驼峰法命名标识符. 4.注释: 单行:// 多行: /*   */ 5.严格模式: 在js文件顶部或者函数的顶部使用"use strict":,将开启严格模式(ECMA 5.0引入) 6.每条语句结尾加分号 7.ECMA的变量是松散类型,就是可以保持任何类型的数据. 8.数据类型分6种: Undefined, Null, Boolean, Number, String, Obj…
object类型: 创建object实列的方式有两种,一种是new()方法,一种是对象字面量表示法: 第一种法方:  var obj = new object(); obj.name = 'name'; obj.age = '22'; 第二种方法:  var obj ={ name:'name', age:'22' } 另外使用对象字面量的另一种写法 与new的方法相同 var obj = {} obj.name='name'; obl.age='22' 访问对象属性时一般是使用点访问法,在ja…
第十四章 表单脚本 1.阻止默认表单提交 1.提交表单数据 1.使用type=submit提交按钮 2.使用submit():方法 注意:当用户点击提交按钮时,会触发submit事件,从而在这里我们有机会验证数据并决定要不要提交表单 1.preventnDefault(event):可以用在表单数据无效时不发给服务器,对于动态绑定的onclick 事件. 2.Submit()方法也可以提交表单,但是不会触发submit事件,所以在使用时须先验证表单数据, 如:<%response.write(t…
ECMAScript 的变量是松散类型的,所谓松散类型就是可以用来保存任何类型的数据.换句话说,每个变量仅仅是一个用于保存值的占位符而已.定义变量时要使用var 操作符(注意var 是一个关键字),后跟变量名(即一个标识符),如下所示:var message; 这行代码定义了一个名为message 的变量,该变量可以用来保存任何值(像这样未经过初始化的变量,会保存一个特殊的值——undefined. 注意,即用var 操作符定义的变量将成为定义该变量的作用域中的局部变量.也就是说,如果在函数中使…
在使用调制解调器的时代,频繁的表单验证对客户端来说是一个很大的负担,javascript,作为一种专门进行表单验证的客户端脚本语言诞生了.到今天,javascript早已超越了当初设定的角色.Javascript由以下三部分组成: 核心(ECMAScript) 文档对象模型(DOM) 浏览器对象模式(BOM) 一.ECMAScript ECMAScript是对Javascript这门语言的描述,它规定了这门语言的这些组成部分:语法.类型.语句.关键字.保留字.操作符.对象.Web浏览器是ECMA…
JavaScript 历史 JavaScript的诞生的主要是当时的 netspace 公司谋求为自己的浏览器 Navigator 添加一种脚本语言,以便在本地客户端进行一些行为操作,而这一功能的需求源于当时网络带宽很低(当时还是采用拨号上网,ADSL,网速基本也就28.8Kbit/s),对于一些表单的验证操作,用户只能提交到服务器,然后由服务端进行验证,再将结果通过网络反馈给用户.这种方式的效率无疑是很低的,所以当时 Navigator 的运营者们就想,能否在浏览器中嵌入一种编程语言,来直接实…
1.Javascript有几种数据类型 2.变量 Javascript有几种数据类型 JavaScript中有5种简单数据类型(也称为基本数据类型):Undefined.Null.Boolean.Number和String.还有1种复杂数据类型——Object,Object本质上是由一组无序的名值对组成的.…
第一章主要讲了JavaScript的诞生和发展.刚刚接触JavaScript的我,似乎对这些内容并不感兴趣,快速看了一遍就开始去看第二章了. 看完第一章,收获也就是了解到JavaScript由ECMAScript.文档对象模型(DOM)和浏览器对象模型(BOM)组成. 书本上写在最后的小结: JavaScript是一种专为与网页交互而设计的脚本语言,由下列部分组成: ECMAScript,由ECMA-262定义,提供核心语言功能. 文档对象模型(DOM),提供访问网页内容的方法和接口. 浏览器对…
在HTML中使用JavaScript 1.<script>元素:向HTML页面中插入JavaScript的主要方法就是使用<scritp>元素.HTML4.01为<script>定义了下列6个属性. (1)async:可选.表示立即下载脚本,但不妨碍页面中的其他操作,比如下载其他资源或等待加载其他脚本.只对外部脚本文件有效. (2)charset:可选.表示通过src属性指定的代码的字符集.由于大多数浏览器会忽略它的值,因此这个属性很少有人用. (3)defer:可选.…
JavaScript简介: 1.JavaScript实现应该由以下三部分组成: (1)核心:ECMAScript (2)文档对象模型:DOM (3)浏览器对象模型:BOM 2.什么是ECMAScript兼容: (1)支持ECMA-262描述的所有“类型.值.对象.属性.函数以及程序句法和语义”. (2)支持Unicode字符标准. (3)添加ECMA-262没有描述的“更多类型.值.对象.属性和函数”. (4)支持ECMA-262没有定义 3.文档对象模型(DOM) 1.文档对象模型是针对XML…
把javascript应用在网页中,需要涉及web的核心语言-html:如何让javascript既能与html共存,又不影响页面的显示效果,经过长时间的讨论.试错,最终的决定是为web增加统一的脚本支持.向html插入javascript最主要的做法,是借助<script>标签. 如果不指定type,type默认是“text/javascript" 1)在页面嵌入JS代码 <script type="text/javascript"> functio…
[TOC] 1. 语法 1.1 区分大小写 变量.函数名和操作费都区分大小写. 1.2 标识符 标识符指变量.函数.属性的名字,或者函数的参数.标识符按以下规则组合: 第一个字符必须是一个字母,下划线(_)或一个美元符号($). 其他字符可以是字母.下划线.美元符号或者数字. 标识符采用驼峰大小写格式,也就是第一个字母小写,剩下的每个单词首字母大写,例如: firstSecond myCar doSomethingImportant 1.3 注释 使用c风格的注释 //单行注释 /* 多 行 注…
面向对象程序设计 ECMA-262将对象定义为:“无序属性的集合,其属性可以包含基本值.对象或者函数.”严格来讲,这就相当于说对象是一组没有特定顺序的值.对象的每个属性和方法都有一个名字,而每个名字都映射到一个值. 6.1理解对象 创建对象的最简单方式就是创造一个Object实例,然后再为它添加属性和方法,如下所示: var person = new Object(); person.name = 'yyg'; person.age = 23; person.job = 'student; pe…
script 标记是 netspace 公司最早为在 html中引入 javascript代码而创造的HTML元素,并最终被 HTML规范采纳. script 标记有四个比较重要的属性: src type defer async defer 添加了defer 属性的脚本会等待页面加载并解析完成后执行(即在浏览器解析到</html>之后).并且多个延迟脚本会根据顺序执行. <head> <script defer="defer" src="1.js…
创建对象主要的两种形式,创建Object实例和创建对象字面量 对象包含属性和方法 数据 .属性有四个特性,特性是为了描述属性行为的,他们是: Configurable(可配置的)是否能删除或是否能修改为访问器属性 Enumerable(枚举)是否能够for-in Writeable(可写)能否修改属性值 Value(值)默认为undefined,从这个位置上读数据或把新值保存到这个位置上 eg: var person = {}'; Object.defineproperty(person,"na…
欢迎关注本人的微信公众号"前端小填填",专注前端技术的基础和项目开发的学习. 本节内容对应<JavaScript高级程序设计>的第四章内容. 1.函数:通过函数可以封装任意多条语句,而且可以在任何地方.任何时候调用执行.ECMAScript中的函数用function关键字来进行声明,后面跟一组参数以及函数体.不必指定是否有返回值. function functionName(args0,args1,...argsN){ //statements } 2.函数的重载:为一个函…
前言: 为什么会想到把<JavaScript 高级程序设计(第 3 版)>总结记录呢,之前写过一篇博客,研究的轮播效果,后来又去看了<JavaScript 高级程序设计(第3版)>,突然想着边看边记录,就像边看边写读后感.这本书从介绍表达式和申明变量开始,平滑的过渡到了闭包.面向对象开发等高级主题.与那些把大量篇幅花在讲解背景知识上的书,以及那些让人感觉好像要使用JavaScript 开发导弹制导系统的书,这本书让人感觉细致周到.亲切自然,这是一本写给“普通人”的书.它能够让你编写…