关于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 BUG的解决
当iOS程序报这样的错误 ld:261 dulicate symbols for architecture x86_64 clang:error:linker command failed with ...
- CoreJavaE10V1P3.5 第3章 Java的基本编程结构-3.5 操作符
最基本的操作为赋值操作,= 即赋值操作符 基本的算术操作为加.减.乘.除取模.除取余数,其对应操作符为 +.-.*./.% 算术操作与赋值操作联合衍生为:+=:-=:*=:/=:%=: 由于处理器硬件 ...
- 在二叉搜索树(BST)中查找第K个大的结点之非递归实现
一个被广泛使用的面试题: 给定一个二叉搜索树,请找出其中的第K个大的结点. PS:我第一次在面试的时候被问到这个问题而且让我直接在白纸上写的时候,直接蒙圈了,因为没有刷题准备,所以就会有伤害.(面完的 ...
- 5754Life Winner Bo
给定一个n*m的矩阵,有四种棋子(国际象棋的王,王后,骑士,车).起点在(1,1)先走到(n,m)获胜. 分析:车是nim博弈.王后是威佐夫博弈.王和骑士写两个1000*1000的预处理即可. hdu ...
- Firefox一次提交两次请求的问题
把这迅雷的插件禁用后一切恢复正常.
- Passing Reference by value
今天查bug的时候,遇到一个问题,一个Dictionary<int[],string>数据结构,在使用key取它的value时: var tempVar = _dic[key]; 发生崩溃 ...
- CodeForces 711A Bus to Udayland
简单题. #pragma comment(linker, "/STACK:1024000000,1024000000") #include<cstdio> #inclu ...
- .Net 生成二维码【超简易,仅供学习】
1,首先下载DotNetBarcode.dll文件 下载地址: http://dl.downyi.com/dotnetbarcode_dll.rar 2,调用方式 string path = @&qu ...
- PAT乙级1004. 成绩排名 (20)
读入n名学生的姓名.学号.成绩,分别输出成绩最高和成绩最低学生的姓名和学号. 输入格式:每个测试输入包含1个测试用例,格式为 第1行:正整数n 第2行:第1个学生的姓名 学号 成绩 第3行:第2个学生 ...
- 【5】图解HTTP 笔记
坚持.聪明.不畏困难,我将取得最后的胜利. 第一章 了解 Web 以网络基础 1. HTTP ( HyperText Transfer Protocol ): 超文本传输协议. 2. 通讯方式: 3. ...