本博文源于js基础,旨在讨论js中的基本程序设计,不包括三大结构。
变量
变量的定义和赋值
因为Js是动态类型语言,所以不用点明它是什么类型,直接使用变量即可。
var a = 10;
console.log(a);
同样道理你可以用小数和字符串都来尝试一下。
变量值的修改
a = 6
跟其他语言一样,直接修改就完事了
变量命名规范
驼峰原则,多个单词写在一起,第1个单词的首字母小写,后面每个单词的首字母要大写。例如:
maxEnglishTestScore
undefined
var a;
console.log(a);
仅仅定义,未被赋值那就输出undefined
如果连定义都没定义直接用,那肯定就会报错
变量声明提升
console.log(a);
var a= 12;
先使用它,然后定义变量,会显示undefined
var a;
console.log(a);
a = 12;
先定义,没有赋值就使用,结果就是undefine。得出结论:
变量声明提升时,只提升变量的定义,不会提升它的值。这也是程序输出undefined而不会输出12.
基本数据类型
typeof | 名称 | 距离 |
---|---|---|
number | 数字型 | 5 12.3 |
string | 字符串型 | “JavaScript” “5” |
boolean | 布尔型 | true false |
undefined | undefined型 | undefined |
使用typeof操作符
相当于c的sizeof关键字,几种有趣的现象也可以查看一下
NaN
Js理解它为是英语的“not a number”的意思,就是不是一个数,比如
0/0
字符串减去字符串
它不是一个数,它是什么?typeof验证一下
Infinity
学MATLAB的应该知道,这个相当于无穷大,无穷大当然是一个数。是一个无法描述的数字
字符串型
跟其它语言的字符串类似。
var str=“123123”;
布尔型
懂点语言的都知道,这点没啥好说的。
typeof true
undefined 型
运算符
说点骗人的,js可以写算法哟!这部分跟c差不多,点到为止!
数学运算符
- 加减乘除
- 取余
- 自增自减
- 隐式转换
但重点要谈下隐式转换。js用Number函数将非数字转换为数字,转换机制也跟其他语言一样
隐式转换
特别注意undefined
比较运算符
比较运算符也跟其他语言类似,重点关注Nan与Nan比较
NaN == NaN
如果解决这种问题,用一下类似java的那种函数isNaN
isNaN(NaN)
逻辑运算符
逻辑运算与其他语言类似。不过运算会打印值,我也第一次听说(惭愧)
其他语言好像只是打印true 和false.
赋值运算符
一个“=”叫做赋值,两个“==” 叫做比较大小
例如
var a= 12;
a==12