0x00
本篇是一些所有语言都tm共有的基础,一定要先过这个地方,虽然有些无味简单。。
给自己看的,作者有一定语言基础,,,,
0x01 JS的helloworld
输出helloworld
三种输出工具
JS代码是从上到下执行
一般建议把代码写在外部文件或script标签中
/*
多行注释
*/
//单行注释
0x02 JS中的几种规则
1、JS中严格区分大小写
2、每一行语句用分号结尾
如果不写分号,浏览器会自动添加,但是要耗费一点系统资源,且有些时候浏览器会加错分号
3、JS中忽略多的空格和换行,可以用它来格式化
0x03 字面量和变量
字面量:不可改变的值,比如12345,字面量可以直接使用,但是我们都不会一般直接使用字面量
变量:用来保存字面量,变量的值可以任意改变,变量更加方便我们使用
申明变量:var关键字
标识符:
标识符里可以有字母,数字,下划线,$符
标识符不能是数字开头
标识符不能是ES里的关键字或保留字
标识符一般都采用驼峰命名法(每个单词的开头大写)
0x04 数据类型
数据类型指字面量的类型
String
Number
Boolean
Null
Undefined
Object
数字类型
使用JS进行浮点运算,可能得到一个不精确的结果,千万不要用JS进行精确度比较高的运算
布尔类型
0x05 强制的类型转换
注意里面的方法和函数的区别
转换成number
其他类似的数值转换
转布尔
对象也会转换为true
0x06 运算符
运算符都会返回结果,例如typeof
五个算数运算符
+可以对数字进行加法算数,任何值和NaN结果都是NaN,可以对字符串进行拼接
任何值和字符串相加都会转换成字符串然后再执行。
c = c + "";//加空串传换成string
一种常见的写法
console.log("c = "+c);
- 进行减法运算
除了上面的加字符串转换成字符串,其他都是转换成number
c = c - 0;//隐式转换成number
%取模
0x07 一元运算符
0x08 逻辑运算符
三种逻辑运算符,!,||,&&
b = !!b;
数据转换成布尔值的一种方法
&&第一个值为true,会检查第二个值,如果为false会检查第二个值
0x09 赋值运算符
=
+=
-=
/=
%=
0x10 关系运算符
>
<
==
>=
<=
比较字符串的时候只比较第一位的字符串编码
和php中的比较相像,js都是先转换数据类型再比较
0x11 条件运算符
0x12 代码块
我们的程序是由一条一条语句构成的,语句是按照自上而下的顺序一条一条执行的
js中可以用{}来为语句进行分组
同一组的语句要么都执行,要么都不执行,称为一个代码块
JS中的代码块只具有分组的作用,没有任何其他的用途
0x13 流程控制语句
if语句
该语句中只会有一个代码块被执行,如果有一个被执行则直接结束语句执行
补充:prompt() 可以弹出一个提示框,该题示框里有个文本输入框,需要一个字符串为参数,改参数会成为提示框的提示文字。用户定义的内容作为返回值返回
switch
进行的是全等比较,若相等从case处开始执行,使用break退出switch语句
如果没有相等的,则从default处开始执行
while
比c语言少一个;
补充,页面中的<br />可以被解析成换行符
for
for循环的三个部分都可以省略,也可以写在外部
例如这是一个死循环
这几个语句要自己写了才能学会,感谢大一的c语言课和自学的python
break和continue
break是结束本次全部循环
可以为循环语句创建一个label,来标识当前的循环
使用break语句时可以在break后跟一个label,这样break可以结束指定的循环
continue关键字跳过本次循环
创建一个标志值,提升性能
补充:
console.time("test"); 开启计时器test
console.timeEnd("test"); 终止计时器