关于JavaScript的小笔记
1、当 JavaScript 中的变量被声明的时候,程序内部会给它一个初始值 undefined
。当你对一个值为 undefined
的变量进行运算操作的时候,算出来的结果将会是 NaN
,NaN
的意思是 "Not a Number"。当你用一个没有 定义
的变量来做字符串连接操作的时候,它会如实的输出"undefined"
。
2、在 JavaScript 中所有的变量都是大小写敏感的。这意味着你要区别对待大写字母和小写字母。使用 驼峰命名法 来书写一个 Javascript 变量,在 驼峰命名法 中,变量名的第一个单词的首写字母小写,后面的单词的第一个字母大写。
3、js中的浮点数:定义和用法:parseFloat() 函数可解析一个字符串,并返回一个浮点数。 语法:parseFloat(string),参数string是必须的,表示要被解析的字符串 返回值:返回解析后的数字
4、在编程当中,通常通过赋值来修改变量的内容。请记住,先计算=
右边,然后把计算出来的结果赋给左边。还有一类操作符是一步到位既做运算也赋值的。这类操作符的其中一种就是 +=
运算符。例如:myVar = myVar + 5; 相当于myVar += 5;( 也是把数值 5
加到变量 myVar
上。)
注意:1)与 +=
操作符类似,-=
操作符用来对一个变量进行减法赋值操作。myVar = myVar - 5;相当于 myVar -= 5;
2)*=
操作符是让变量与一个数相乘并赋值。myVar = myVar * 5;相当于 myVar *= 5;
3) /=
操作符是让变量与另一个数相除并赋值。myVar = myVar / 5;相当于 myVar /= 5;
不管是myVar += 5; myVar -= 5;
myVar *= 5;
myVar /= 5;
数字都在右边,变量在左边;
等于号在右边。+、-、*、/在左边,
也就是说:
5 /=
;跟myVar
是错误的。myVar =/ 5;
5、反斜杠 (\
) 来转义引号。var sampleStr = "Alan said, \"Peter is learning JavaScript\".";
这标志着提醒 JavaScript 单引号或双引号并不是字符串的结尾,而是出现在字符串内的字符。所以,如果你要打印字符串到控制台,你将得到:Alan said, "Peter is learning JavaScript".
注意:
6、与字符串的数据不可变不同,数组的数据是可变的,并且可以自由地改变。
例如:1)var ourArray = [3,2,1];
ourArray[0] = 1; // ourArray等于 [1,2,1];
2)var sampleStr = "Alan said";
sampleStr[0]=m; //sampleStr等于Alan said;并没有被改变
7、可以把 多维 数组看作成是一个 数组中的数组。当使用[]
去访问数组的时候,第一个[index]
访问的是第N个子数组,第二个[index]
访问的是第N个子数组的第N个元素。
例如:var arr = [ [1,2,3], [4,5,6], [7,8,9], [[10,11,12], 13, 14] ];
arr[0]; // 等于 [1,2,3]
arr[1][2]; // 等于 6
arr[3][0][1]; // 等于 11
8、在 JavaScript 中,为了让两个不同的 数据类型
(例如 数字
和 字符串
)的值可以作比较,它必须把一种类型转换为另一种类型。然而一旦这样做,它可以像下面这样来比较:
例如:1 == 1 // true
1 == 2 // false
1 == '1' // true
"3" == 3 // true
注意:全等(===)是相对于相等操作符(==
)的一种操作符。与相等操作符不同的是全等比较严格,它会同时比较元素的值和 数据类型
。
例如:3 === 3 // true
3 === '3' // false ,3
是一个 数字
类型的,而'3'
是一个 字符
类型的,所以3不全等于'3'。
注意:大于等于
运算符( >=
)或大于运算符( >
)来比较两个数字的大小的时候,与相等运算符相似,大于等于
运算符在比较的时候会转换值的数据类型。小于等于
运算符( <=
)或小于于运算符( <
)同上;
例如
6 >= 6 // true
7 >= '3' // true
2 >= 3 // false
'7' >= 9 // false
9、当代码执行到return语句时,函数返回一个结果就结束运行了,return后面的语句根本不会执行。
例如:
function myFun() {
console.log("Hello");
return "World";
console.log("byebye")
}
myFun();
上面的代码输出"Hello"到控制台、返回 "World",但没有输出"byebye"
,因为函数遇到return语句就退出了。
关于JavaScript的小笔记的更多相关文章
- JavaScript看书笔记01
JavaScript看书笔记... ------------------- JavaScript允许var定义语句出现在函数内部的任意位置.JS中使用Var来显示的给变量声明 JavaScript是一 ...
- 《你不知道的javascript》读书笔记2
概述 放假读完了<你不知道的javascript>上篇,学到了很多东西,记录下来,供以后开发时参考,相信对其他人也有用. 这篇笔记是这本书的下半部分,上半部分请见<你不知道的java ...
- JavaScript语言精粹笔记
JavaScript语言精粹笔记 掌握语言的每个特性可以让你出风头,但是并不推荐,因为一部分的特性带来的麻烦可能远超本身的价值.正如书中所言,坏的材料并不能雕刻出好的作品,要成为一名更好的程序员,要取 ...
- javascript学习-原生javascript的小特效(原生javascript实现链式运动)
以下代码就不详细解析了,在我之前的多个运动效果中已经解析好多次了,重复的地方这里就不说明了,有兴趣的童鞋可以去看看之前的文章<原生javascript的小特效> <!DOCTYPE ...
- javascript学习-原生javascript的小特效(多个运动效果整理)
以下代码就不详细解析了,在我之前的多个运动效果中已经解析好多次了,重复的地方这里就不说明了,有兴趣的童鞋可以去看看之前的文章<原生javascript的小特效> <!DOCTYPE ...
- 转:【iOS开发每日小笔记(十一)】iOS8更新留下的“坑” NSAttributedString设置下划线 NSUnderlineStyleAttributeName 属性必须为NSNumber
http://www.bubuko.com/infodetail-382485.html 标签:des class style 代码 html 使用 问题 文件 数据 ...
- 小笔记:Timer定时间隔时间操作
小笔记:Timer定时间隔时间操作,后面有时间再补充和完善: public class TimingSvc { /// <summary> /// 定时器,执行定时任务 /// </ ...
- JavaScript正则表达式学习笔记(二) - 打怪升级
本文接上篇,基础部分相对薄弱的同学请移步<JavaScript正则表达式学习笔记(一) - 理论基础>.上文介绍了8种JavaScript正则表达式的属性,本文还会追加介绍几种JavaSc ...
- 关于 linux中TCP数据包(SKB)序列号的小笔记
关于 SKB序列号的小笔记 为了修改TCP协议,现在遇到了要改动tcp分组的序列号,但是只是在tcp_sendmsg函数中找到了SKB的end_seq 一直没有找到seq 不清楚在那里初始化了,就 ...
随机推荐
- iOS用AFN上传图片到java后台
-(void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event { AFHTTPSessionMana ...
- kworker
通过 ps 命令查看进程状态时,可以查看到kworker相关, 大部分格式都是 kworker /u2:0 或者 kworker /0:0H, 查看资料得知: 内核中有很多kworker,有绑定c ...
- 为什么switch...case语句比if...else执行效率高
在C语言中,教科书告诉我们switch...case...语句比if...else if...else执行效率要高,但这到底是为什么呢?本文尝试从汇编的角度予以分析并揭晓其中的奥秘. 第一步,写一个d ...
- android log4j日志管理的使用
以下为log4j1的日志管理,在android 6.0 一下能正常使用,时候更加高级的胃log4j2,持续跟新 android中的log4j日志文件使用需要两个包,我们不需要进行配置文件的配置,一切都 ...
- eclipse 配置 Tomcat 遇到的问题以及解决办法
Eclipse是一个开发JSP的很好的工具,而笔者在配置Tomcat服务器的时候遇到了一些小问题,在这里给大家总结一些经验,希望能帮助同样遇到这些问题的广大同行们能够简单轻松地解决这些问题~ 笔者在以 ...
- URL中的#
作者:阮一峰 http://www.ruanyifeng.com/blog/2011/03/url_hash.html 一.#的涵义 #代表网页中的一个位置.其右面的字符,就是该位置的标识符.比如 ...
- 【AndroidStudio】关于SVN的相关配置简介
AndroidStudio 的SVN 安装和使用方法与我以前用的其他IDE 都有很大差别,感觉特麻烦,网上相关资料很少,貌似现在 Git 比较流行,之前有用过 github 但是他只能是开源项目免费, ...
- CodeForces 670A Holidays
简单题. #pragma comment(linker, "/STACK:1024000000,1024000000") #include<cstdio> #inclu ...
- linux for 使用
第一种:命令使用方法 例子1: cat test.txt 1 2 3 for i in $(cat test.txt) do echo $i done 例子2: for i in 1 2 3 4 do ...
- 安卓用canvas画曲线图
1.新建一个常变量类Constant.java package com.rain.db; import android.graphics.Point; public class Constant { ...