JavaScript基础
1,导入JavaScript标签
<script type=“text/javascript”></script>
2, 在标签中间写js代码
- 第一句javascript代码:alert(“hello world!”) ;
- 第二句javascript代码:document.write(“亲,我在页面上,跟alert不一样噢!”);
- 第三句javascript代码:console.log(“我是在控制台打印的, 以后常用我!”); 注意: document.write可以输出任何HTML的代码
3, script标签可以出现多次, 且可以出现在html文件的任何地方, 建议写在<head></head>之间; 另外,同一个文件中Javascript和HTML代码, 它们的执行顺序都是自上而下,谁在前就谁先执行, 谁在后就后执行.
4, JavaScript的注释
- 单行注释: //
- 多行注释 /* */
5,外部javaScript文件引入方式
<script type="text/javascript" src="demo1.js" ></script>
注意: 1、不可以使用单标, 如这是不正确的写法 <script type="text/javascript" src="demo1.js“/ >
2、在引入了外部文件的标签中写代码会无效, 下面的alert()不会执行 <script src=“demo1.js”>alert(‘xxxx’)</script>
6,<script>标签的属性:
- src 表示要引入的外部文件
- type 表示脚本语言的类型 text/javascript,默认值就是它.
- language已废弃。原来用于代码使用的脚本语言。由于大多数浏览器忽略它,所以不要用了。
- defer:可选。(等页面加载完成后,才执行js)表示脚本可以延迟到文档完全被解析和显示之后再执行。由于大多数浏览器不支持,故很少用。
- async charset:可选。表示通过 src 属性指定的字符集。由于大多数浏览器忽略它,所以很少有人用它。
7,js变量、关键字、命名规范
- 变量定义(使用var关键字):
var age; //var 是关键字,age是变量名
2. 赋值:
age = 20;
3. 可以一次定义多个变量:
var name=“zhangsan", age=18,weight=108; console.log(name);
4. JS是弱数据类型的语言,容错性较高, 在赋值的时候才确定数据类型
var b; //temp时啥数据类型?不确定
b = 12; //temp变量是数字类型
b = “hello”; //temp变量变成了字符串类型
console.log(typeof b);
关键字 : 已经被JS内部使用了的
保留字: 虽然暂时还未被使用, 但将来可能会被JS内部使用
变量的命名规范
1, 变量名可以是数字,字母,下划线_和美元符$组成;
2, 第一个字符不能为数字 3, 不能使用关键字或保留字
4, 标识符区分大小写,如:age和Age是不同的变量。但强烈不建议用同一个单词的大小写区分两个变量。
5, 变量命名尽量遵守驼峰原则: myStudentScore 6, 变量命名尽量见名思意, 可参考下图
JS数据类型一般可以分为:
- Boolean: 布尔类型
- Number:数字(整数int,浮点数float )
- String:字符串
- Object:对象 (包含Array数组 )
- 特殊数据类型 Null、Undefined
- 注意: 变量的类型在赋值时才能确定
8,JavaScript运算符的使用-算术运算符
- 算术运算符 : +,-, *, /, %(取余数)
- 字符串和变量的拼接: +
- 关系运算符 : <、>、<=、>=、==、===、!=, !==
- 逻辑运算符 : && 与(且)、|| 或、! 非
- 赋值运算符 : =、+=、-=、*=、/=、%=
- 自增、自减 : ++a, a++, --a, a--
JS代码规范:
1, 保持代码缩进
2, 变量名遵守命名规范, 尽量见名思意
3, JS语句的末尾尽量写上分号;
4, 运算符两边都留一个空格, 如:var n = 1 + 2
9, 二进制, 八进制, 十进制, 十六进制介绍
进制 : 在计算机处理器内部只认识二进制, 在内存存储的数据其实就是大量的开关,每个开关,可以存储一个1或0,称为一位(1bit),每八位称为1字节(1byte)
1位 : 是二进制的0或者1
1byte = 8位 1KB = 1024byte
1MB = 1024KB
1GB = 1024MB
1TB = 1024GB ..1PB, 1EB
例如: 十进制的23在内存中存储的是二进制10111
23 -> 10111
00000000 00000000 00000000 00010111(内存中存储的23)
进制:
二进制: 0, 1 (0~1)
八进制: 0, 1, 2, 3, 4, 5, 6, 7 (0~7)
十进制: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 (0~9)
十六进制: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F (0~15)
常用值:2的次方
- 2^2 = 4
- 2^3 = 8
- 2^4 = 16
- 2^5 = 32
- 2^6 = 64
- 2^7 = 128
- 2^8 = 256
- 2^9 = 512
- 2^10 = 1024
- 2^11 = 2048
进制转换:
2进制 :101011
转10进制: (从右往左)1*2º + 1*2¹ + 0*2^2 + 1*2^3 +0*2^4 + 1*2^5 = 1+2+0+8+0+32 = 43
转8进制: (从右往左3个一组 101 011): 53
转16进制: (从右往左4个一组 0010 1011): 2B
10进制: 43
转2进制: 32+8+2+1 = 101011
转16进制: 32+11 = 2B
转8进制: 40+3 = 53
8进制: 53
转10进制: 5*8¹ + 3*8º = 43
16进制: 2B
转10进制: 2*16¹ + 11*16º = 32+11 = 43
8进制和16进制转非10进制,可以先转换成10进制,再由10进制转