javascript权威指南-数据类型笔记

原始值与应用值

1.原始值类型数据室不可变的 (改变原始值类型数据, 返回的是一个新的对象)

var str0 = ‘test‘;

var str1 = str.replace(‘t‘, ‘a‘);

alert(str1);   // 输出 ‘aest‘

alert(str0);   // 输出 ‘test‘

2.应用值类型是可变的(他的值是可以修改的)

// 对象直接量
var o = {x:1, y:2, z:3};
console.log(o);     // 输出 Object { x=1,  y=2,  z=3}
o.z = 4;
console.log(o);     // 输出 Object { x=1,  y=2,  z=4}

// 数组直接量
var arr = [1, 2, 3];
console.log(arr)     // 输出 [1,2,3]
arr[2] = 4;
console.log(arr)     // 输出[1, 2,4]

几个知识点

1.javascript是ECMAscript的实现,其组成部分有:

2. 原始类型与引用类型(以下是w3school的解释很清晰)

  原始值: 存储在栈(stack)中的简单数据段,也就是说,它们的值直接存储在变量访问的位置。

  引用值: 存储在堆(heap)中的对象,也就是说,存储在变量处的值是一个指针(point),指向存储对象的内存处。

  

  (*在许多语言中,字符串都被看作引用类型,而非原始类型,因为字符串的长度是可变的。ECMAScript 打破了这一传统。)

3.javascript变量声明及作用域  

  1).js中变量声明有如下几种(分为 使用关键字var , 不使用关键字var)

//------------------------------------------//// 分别用var声明
var a;
var b;
    a = ‘hello‘;
    b = ‘world‘;

// 单var声明
var a, b;
// 单var 声明并赋值
var a = 1,
    b = 2,
    c;

//------------------------------------------//

// 不使用var声明
 g = ‘test‘;       // 需要注意的是这种不用var声明变量 直接赋值的方式, 在任何地方使用都会被视作全局对象的属性, 可以使用delete删除, 但是不推荐这种用法(EC5严格模式下报错)

  2).js中变量的作用域分为全局作用域()和局部作用域(由函数function构成)俩种

  

  (** js引擎执行时, 每进入一个作用域(环境), 会根据当前上下文, 创建一个针对该环境的上下文对象,在这个阶段,variableObject对象,作用域链,以及this所指向的对象都会被确定推荐阅读)

4. 对象的比较,即使俩个对象包含同样的属性及同样的值, 他们也是不相等的( 各个索引完全相等的两个数组也不相等)

 对象的比较是引用的比较,当且仅当他们引用同一个对象时, 它们才相等

 (这个好比现实中 有姓名相同和年龄相同但是不是同一个人, 但是如果这个人还有个小名(其它引用)那么这个小名和他的大名就都指他一个人了)

var o1 = {name:‘zhang‘, age:23};
console.log(o1);          // 输出Object { x=1,  y=1}

var o2 = {name:‘zhang‘, age:23};
console.log(o1);          // 输出Object { x=1,  y=1}

console.log( o1 === o2 );     // 输出false

var o3 = o1;
console.log(o3);          // 输出Object { x=1,  y=1}

console.log( o3 === o1 );     // 输出true
时间: 2024-10-18 18:32:58

javascript权威指南-数据类型笔记的相关文章

JavaScript权威指南学习笔记之一

1.关于分号 javascript里面不强制使用分号来表示一行语句的结束,但是最好能够在写js之前,特别是在原有的js上面新增时,最好前置一个分号.避免这种情况发生:  2.JavaScript类型转换 3.关于=== ①如果类型不同则不等 ②null===null或undefined===undefined ③true===true或false===false ④NaN不等 ⑤0===0 0===-0 ⑥如果是同一个object,array,function则相等 4.关于== ①如果已经==

javascript权威指南学习笔记1

打开这本书,进入到javascript的世界.以前都是看各种视频,感觉什么收获也没有,反而弄得脑袋混乱,希望能够按照这本书的节奏掌握javascript这门语言,为我的前端学习打下基础. 学习前准备:web浏览器(F12用来唤醒和关闭firebug界面,ctrl+shift+j用来唤醒错误工作台,console.log()调试辅助) 本书分为4个部分:Javascript语言核心:客户端Javascript:Javascript核心参考:客户端Javascript参考.今天主要学了第一部分.主要

JavaScript权威指南读书笔记【第一章】

第一章 JavaScript概述 前端三大技能: HTML: 描述网页内容 CSS: 描述网页样式 JavaScript: 描述网页行为 特点:动态.弱类型.适合面向对象和函数式编程的风格 语法源自Java 一等函数来自Scheme 基于原型的继承来自于Self 名字和版本: JavaScript是由网景(Netscape)公司创建,“JavaScript”是Sun MicroSystem公司的注册商标,用来特指网景(Mozilla)对着门的实现. ECMAScript: 网景将这么语言作为标准

javascript权威指南学习笔记2

Javascript语言核心(2~12章) 第三章:类型.值.变量 1.数字: overflow(Infinity, -Infinity).underflow(+0,-0) 非数字值:它和任何值都不相等,包括自身.if(x!=x) return NAN:==>isNaN()判断是不是NaN或者字符串等 javascript的精度要注意,即(0.3-0.2)!=(0.2-0.1) Date()构造函数:月份从0开始计数,天数从1开始计数,星期天是0: 2.文本: 转义字符(牢记斜杠后面几个特殊的值

javascript 权威指南学习笔记

//通过id查找多个元素 function getElements(/*ids...*/){ var elements = {}: for(var i=0; i<arguments.length; i++){ var id = arguments[i]; var elt =document.getElementById("id"); if(elt == null) throw new Error("No element with id :" +id); ele

JavaScript权威指南阅读笔记3

第六章 对象 1.首先是先介绍了对象直接量的格式:对象直接量就是1.由若干个名/值对组成的映射表,2名/值对中间由冒号分割,3名值对之间由逗号分割,4整个映射表由花括号括起来.这样就组成了一个对象直接量了.属性名可是是标识符或者字符串直接量,属性值可以使任意形式的JS表达式,表达式的值就是属性的值.就是平常所接触的对象的形式,比如: var a= { a:111,b:222} 作者还举了一个需要特别注意的知识的例子: var b = { "main title" : "aaa

JavaScript权威指南笔记——第1部分

# <JavaScript权威指南>笔记--第1部分 说明: 印刷版:2012年4月第1版 2016年9月第17次印刷. 本书的风格和<Effective Java>很类似,推荐一下. 该笔记逆序记录的. ----------------------- ------<end>------ | node的helloworld程序: ```js //! program.js // 通过在命令行输入`node program.js`来运行,然后在浏览器中打开网址`127.0.

《Javascript权威指南》学习笔记之十二:数组、多维数组和符合数组(哈希映射)

Array(数组)是JavaScript中较为复杂的数据类型,同Java.C#.VB等程序语言的数组相比,Javascript数组中的元素不必为相同的数据类型,可以在数组每个元素上混合使用数字.日期.字符串.Object,甚至添加一个嵌套数组. 一.创建数组 1.var arr1 = new Array(); /var  arr2 = new Array(length); /var arr3 = new Array(element1,element2...); var arr4 = [eleme

读书笔记----JavaScript 权威指南(一)

0.前言 最近小编我刚刚结束上一段的工作,结果立马就马不停蹄的开始了新一轮的工作了,表示无辜,(o′?ェ?`o),程序猿真是个累死人不偿命的工作呀. 今天晚上看到同事新启封的 JavaScript 权威指南,心血来潮的想,如果我能把这个书里面的重点以及具体知识点梳理出来,那么后来的人是不是就能少走一些弯路呢? 抱着这个想法,于是就开始了今天晚上的读书之旅,更由于小编喜欢整理东西这个习惯,才有了此文. 真心希望看到这篇文章的你,能够感受到小编那深沉的爱!~ 1.JavaScript 语法核心 之