`
jswing
  • 浏览: 10943 次
社区版块
存档分类
最新评论

JavaScript笔记(一)

阅读更多

还是专门建立一个分类,记录学习Javascript的过程吧,这篇日志算是开篇。建议大家阅读<<Object-Oriented Javascript>>这本书,虽然是英文版,但是内容很简单,连我这种英语没级的人也可以看个八九不离十。

以前工作中也用Javascript,但用到的知识点很少,最多做做表单验证或DOM操作。今时不同往日了,工作重心转到Javascript,所以基础一定要牢固,这篇日志就要要记录基础中的基础:JS中的数据类型


对于基本数据类型,书中分成五类:

  • Number数字类型(包括整数和小数)
  • String字符串 
  • Booleantrue或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

这个NaNNumber另一个比较特殊的值,它是not a number的简写。代表这个变量不是一个数字,比如执行这个运算:10*"f",结果就是NaN。比较特殊的是,null在于数字运算是会被转换成0,所以10*null结果是0(undefined不会被转换,10*undefined=NaN)。

通过typeof运算符可以得知数据类型,比如typeof NaNtypeof Infinity,typeof 1结果都是"number"。

 

String

用单引号或双引号包含的一个字符序列,比如:

var s="hello,world";

      两个字符串可以通过+运算符变成一个字符串,比如"hello"+'world'='helloworld'

当一个字符串与数字做运算时会发生一些转换:当一个字符串字面上就是一个数字(比如"100")时,它会被转换成数字(除了+运算符)。

"100"+2="1002"

"100"*2=200;

"hello"*2=NaN;

 

Boolean

有两个值:truefalse

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

 

UndefinedNull

当你用到的变量没有初始化或者干脆没有声明,js引擎认为它的值是undefinednull需要显式赋值,如: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,whilejava很像,就不过多介绍了
记录一下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笔记一.md

    Javascript笔记一 js以及json基础使用说明.docx

    JavaScript笔记一 js以及json基础使用说明 JavaScript是一种特殊的编程语言,它的数据类型只有五种,即undefined、null、boolean、number和string。JavaScript中的代码也只有函数一种形式。函数可以是定义式的,也...

    javascript笔记 javascript笔记

    外部JavaScript文件是指将JavaScript代码保存在一个独立的`.js`文件中,并通过`&lt;script&gt;`标签引入到HTML文档中。 **示例7:** ```html &lt;script language="javascript" src="java.js"&gt; ``` - **解释:** 这段代码会...

    狂神说系列 JavaScript笔记

    【狂神说系列 JavaScript笔记】是一份全面且深入的JavaScript学习资源,旨在帮助开发者和初学者深入理解这门广泛应用于Web开发的脚本语言。这份笔记涵盖了JavaScript的基础语法、核心概念以及高级特性,旨在构建一个...

    李立超JavaScript基础篇笔记

    JavaScript,简称JS,是由Brendan Eich在1995年创造的一种高级编程语言,最初目的是为了增强网页的交互性,特别是在前端进行表单验证。JavaScript不是Java的子集,两者之间没有直接关联。JS起初名为LiveScript,但在...

    JavaScript笔记第一章—课程准备.pdf

    外部引入则将JavaScript代码放入一个独立的外部文件中,并通过`外部引入的文件" type="text/javascript" charset="utf-8"&gt;&lt;/script&gt;`的方式引入。内部引入则是将JavaScript代码直接写在`&lt;script&gt;`标签内。外部引入...

    黑马JavaScript笔记二.md

    黑马JavaScript笔记二.md

    javascript笔记

    javascript入门笔记包括javascript简介、javascript语法、javascript流程控制、函数、数组等

    html+css+javascript笔记完整版

    "html+css+javascript笔记完整版"是一份全面的前端学习资源,涵盖了从基础到进阶的HTML、CSS和JavaScript知识。通过深入学习,你可以掌握创建交互式、响应式网页所需的所有技能,并为进一步探索前端开发的广阔领域...

    《李炎恢Javascript笔记》+源码

    《李炎恢Javascript笔记》是一本深入浅出的JavaScript学习资料,它涵盖了JavaScript的基础到实践应用的诸多方面。这本书的特点是将复杂的编程概念分解为易于理解的小知识点,并且提供了源码示例,使得读者能够更好地...

    个人Javascript学习笔记 精华版

    JavaScript是一种脚本语言,由Netscape公司开发,编写的程序可以被嵌入到HTML/XML页面中,并直接在浏览器中解释执行。JavaScript的功能包括增强页面动态效果、实现页面(浏览器)与用户之间的实时、动态的交互。...

    韩顺平Javascript笔记完整版.pdf

    韩顺平Javascript笔记完整版.pdf ,配合视频看效果比较好

    菜鸟的Javascript笔记.rar

    这个菜鸟的笔记里面没有谈到JavaScript中的对象,比如说时间对象和字符串对象,这些内容可以在“菜鸟的JavaScript对象笔记”中找到。不过因为小菜鸟个人认为HTML DOM比其它的JavaScript对象更常用一些(不过这可不...

    javascript 笔记 适合初学者 jquery chm 资料

    这份"javascript笔记"可能是作者根据自己的学习和实践整理而成,对初学者来说是非常宝贵的资源。笔记中可能涵盖了变量声明、数据类型(如字符串、数字、布尔值、对象、数组等)、运算符、流程控制(如条件语句和循环...

    JavaScript笔记

    这份笔记是对JavaScript基础知识的总结,内容丰富且覆盖了JavaScript编程的多个核心方面,适合初学者作为入门参考或对有经验的开发者作为复习材料。在实际使用JavaScript开发中,理解和掌握这些知识点是非常重要的,...

    韩顺平javascript笔记(最全整理 dom编程 oop 基础语法)

    韩顺平老师的JavaScript笔记全面涵盖了基础语法、面向对象编程以及DOM编程,这些都是学习JavaScript时至关重要的知识点。 首先,基础语法是JavaScript学习的基石。包括变量声明(var、let、const)、数据类型(如...

    JavaScript 笔记

    JavaScript是一种广泛应用于网页和网络应用的编程语言,尤其在客户端的网页开发中起着至关重要的作用。本笔记将深入探讨JavaScript的基本概念、脚本位置、外部引用以及Date对象的使用。 首先,理解JavaScript脚本在...

    JavaScript笔记.md

    JavaScript笔记

Global site tag (gtag.js) - Google Analytics