还是专门建立一个分类,记录学习Javascript的过程吧,这篇日志算是开篇。建议大家阅读<<Object-Oriented Javascript>>这本书,虽然是英文版,但是内容很简单,连我这种英语没级的人也可以看个八九不离十。
以前工作中也用Javascript,但用到的知识点很少,最多做做表单验证或DOM操作。今时不同往日了,工作重心转到Javascript,所以基础一定要牢固,这篇日志就要要记录基础中的基础:JS中的数据类型。
对于基本数据类型,书中分成五类:
-
Number—数字类型(包括整数和小数)
-
String—字符串
-
Boolean—true或false
-
Undefined—未定义,只有一个值undefined
-
Null—空,只有一个值null
不过我个人觉得,把null归到对象类型可能更好理解,不管怎样,大家明白这几种类型的用法就可以,接下来就每种类型做介绍
Number
Number类型的变量可以存储整数或小数,看几个例子:
var n=1; //十进制
var n=0377; //八进制
var n=0xff0000; //十六进制
var n=2e3;var n1=2e-3; //指数形式
此外,Number类型还包括一些特殊的值,比如:Infinity,代表无穷大。无穷小怎么表示呢?很简单,前边加个负号:-Infinity。用无穷大与一个数字做运算会是什么结果?Infinity-20结果还是Infinity。两个无穷大做运算会发生事呢,Infinity-Infinity结果是NaN。
这个NaN是Number另一个比较特殊的值,它是not a number的简写。代表这个变量不是一个数字,比如执行这个运算:10*"f",结果就是NaN。比较特殊的是,null在于数字运算是会被转换成0,所以10*null结果是0(undefined不会被转换,10*undefined=NaN)。
通过typeof运算符可以得知数据类型,比如typeof NaN,typeof Infinity,typeof 1结果都是"number"。
String
用单引号或双引号包含的一个字符序列,比如:
var s="hello,world";
两个字符串可以通过+运算符变成一个字符串,比如"hello"+'world'='helloworld'
当一个字符串与数字做运算时会发生一些转换:当一个字符串字面上就是一个数字(比如"100")时,它会被转换成数字(除了+运算符)。
"100"+2="1002"
"100"*2=200;
"hello"*2=NaN;
Boolean
只有两个值:true和false
var a=true;
大多数值可以转换成true,除了下面六种:
- The empty string ""
- null
- undefined
- The number 0
-
The number NaN
-
The boolean false
逻辑运算符:
!最高,&&次之,||最低
注意:
1、||是短路的,比如:有个变量b的默认值是0,执行完true && (b = 6) 之后,b的值还是0。
2、Js引擎在逻辑运算中如果遇到非Boolean值,会直接返回这个值,如:true||1=1(短路),true&&1=1
Undefined和Null
当你用到的变量没有初始化或者干脆没有声明,js引擎认为它的值是undefined,null需要显式赋值,如:var s=null; typeof null的结果是"object"(所以我开头我觉得把null归到object比较合适)
前边说过,undefined转换数字会变成NaN,转换Boolean会变成false,转换字符串会变成"undefined"
"" + undefined="undefined"
null转换成数字时是0,转换成Boolean和字符串时与undefined相同。
Ok,接下来看一下对象类型
Array
与Java不同,javascript里的数组可以放任何内容,比如:
var arr=[1,'hello',false]
数组元素可通过下标访问
删除元素:delete arr[1]; 数组大小不会变,只是将下标为1置为undefined
数组也可以嵌套:var a = [[1,2,3],[4,5,6]];
流程控制语句,如if,for,do-while,while与java很像,就不过多介绍了
记录一下for in循环
var a={a:1,b:2,c:3};
for(var i in a){
alert(i);
}
Alert "a","b","c"
var b=["a","b","c"]
for(var i in b){
alert(i);
}
Alert 0,1,2
最后吐槽一下ITEYE的编辑器,实在是烂到极点,在Word里辛辛苦苦排好版,copy过来却是这副德行:文本颜色丢失;在Word里字体相同的文字拷过来有的大,有的小;缩进丢失;编号丢失......编辑器本身排版也很麻烦,凑合看吧
分享到:
相关推荐
黑马JavaScript笔记一.md
JavaScript笔记一 js以及json基础使用说明 JavaScript是一种特殊的编程语言,它的数据类型只有五种,即undefined、null、boolean、number和string。JavaScript中的代码也只有函数一种形式。函数可以是定义式的,也...
外部JavaScript文件是指将JavaScript代码保存在一个独立的`.js`文件中,并通过`<script>`标签引入到HTML文档中。 **示例7:** ```html <script language="javascript" src="java.js"> ``` - **解释:** 这段代码会...
【狂神说系列 JavaScript笔记】是一份全面且深入的JavaScript学习资源,旨在帮助开发者和初学者深入理解这门广泛应用于Web开发的脚本语言。这份笔记涵盖了JavaScript的基础语法、核心概念以及高级特性,旨在构建一个...
JavaScript,简称JS,是由Brendan Eich在1995年创造的一种高级编程语言,最初目的是为了增强网页的交互性,特别是在前端进行表单验证。JavaScript不是Java的子集,两者之间没有直接关联。JS起初名为LiveScript,但在...
外部引入则将JavaScript代码放入一个独立的外部文件中,并通过`外部引入的文件" type="text/javascript" charset="utf-8"></script>`的方式引入。内部引入则是将JavaScript代码直接写在`<script>`标签内。外部引入...
黑马JavaScript笔记二.md
javascript入门笔记包括javascript简介、javascript语法、javascript流程控制、函数、数组等
"html+css+javascript笔记完整版"是一份全面的前端学习资源,涵盖了从基础到进阶的HTML、CSS和JavaScript知识。通过深入学习,你可以掌握创建交互式、响应式网页所需的所有技能,并为进一步探索前端开发的广阔领域...
《李炎恢Javascript笔记》是一本深入浅出的JavaScript学习资料,它涵盖了JavaScript的基础到实践应用的诸多方面。这本书的特点是将复杂的编程概念分解为易于理解的小知识点,并且提供了源码示例,使得读者能够更好地...
JavaScript是一种脚本语言,由Netscape公司开发,编写的程序可以被嵌入到HTML/XML页面中,并直接在浏览器中解释执行。JavaScript的功能包括增强页面动态效果、实现页面(浏览器)与用户之间的实时、动态的交互。...
韩顺平Javascript笔记完整版.pdf ,配合视频看效果比较好
这个菜鸟的笔记里面没有谈到JavaScript中的对象,比如说时间对象和字符串对象,这些内容可以在“菜鸟的JavaScript对象笔记”中找到。不过因为小菜鸟个人认为HTML DOM比其它的JavaScript对象更常用一些(不过这可不...
这份"javascript笔记"可能是作者根据自己的学习和实践整理而成,对初学者来说是非常宝贵的资源。笔记中可能涵盖了变量声明、数据类型(如字符串、数字、布尔值、对象、数组等)、运算符、流程控制(如条件语句和循环...
这份笔记是对JavaScript基础知识的总结,内容丰富且覆盖了JavaScript编程的多个核心方面,适合初学者作为入门参考或对有经验的开发者作为复习材料。在实际使用JavaScript开发中,理解和掌握这些知识点是非常重要的,...
韩顺平老师的JavaScript笔记全面涵盖了基础语法、面向对象编程以及DOM编程,这些都是学习JavaScript时至关重要的知识点。 首先,基础语法是JavaScript学习的基石。包括变量声明(var、let、const)、数据类型(如...
JavaScript是一种广泛应用于网页和网络应用的编程语言,尤其在客户端的网页开发中起着至关重要的作用。本笔记将深入探讨JavaScript的基本概念、脚本位置、外部引用以及Date对象的使用。 首先,理解JavaScript脚本在...
JavaScript笔记