这是我参与更文挑战的第24天,活动详情查看: 更文挑战
1,JS代码可以编写的地方
1, JS代码可以写在标签的onclick属性中
<button onClick="alert('点解我')">按钮</button>
2,JS代码可以写在超链接的href属性
<a href="javascript:alert(‘点击我’)">点击</a>
<a href="javascript:;">点击</a>
3, JS代码可以写在script脚本里面
<script type="text/javascript">
alert('弹出我')
</script>
4, JS代码可以写在外部JS文件中, 到过script标签引入
<script type="text/javascript" src="js/script.js"></script>
2,JS 基础
1, 注释
/*
多行注释: 注释中的内容不会被执行,但是在源代码中可以查看
*/
// 单行注释
2, 格式
/*
* 1, JS中严格区分大小写
* 2,JS中每一条语句以分号(;)结尾
* 3, JS中会忽略多个空格和换行
*/
注意:如果不写分号, 浏览器会自动添加,但是会消耗一些系统资源
有些时候,浏览器会加错分号,所以开发中分号必须写
3,变量
字面量: 都是一些不可改变的值,是可以直接使用的
比如: 1,2,3,45,都是字面量
变量: 用来保存字面量,而且变量的值是可以任意改变的
注意: 字面量虽然是可以直接使用的,但是我们一般不会直接使用字面量,都是通过变量去保存一个字面量
4, 标识符
在JS中所有的可以由我们自主命名的都可以称之为标识符, 比如:变量名,函数名,属性名都是标识符
标识符规则:
1, 标识符中可以含有字母,数字,_, $
2, 标识符不能以数字开头
3, 标识符不能是ES中的关键字或者保留字
4, 标识符一般都才用驼峰命名
3,JS六种数据类型
String 字符串
Number 数值
Boolean 布尔值
Null 空值
Undefined 未定义
Object 对象
(1) Number
JS最大值: Number.MAX_VALUE
JS最小值:Number.MIN_VALUE
如果超过最大值: Infinity
如果超过最小值:-Infinity
NaN 也是一个特殊的数字
通过 typeof 可以检查类型
注意:千万不用使用JS进行对精准度要求较高的运算
(2) Null
Null 类型的值只有一个,就是null
typeof null 会返回 Object
4,代码块
我的程序时由一条一条语句构成的,语句是按照自上向下的顺序一条一条执行的,在JS中可以使用{}来为语句进行分组
1, 同一个{}中的语句我们称为一组语句
2, 他们那么都执行,要么都不执行
3,一个{}中的语句我们称为一个代码块
4,在代码块的后边就不用再编写 ; 了
5, 代码块只具备分组的作用,没有其他用途,在代码块里面的变量,在外边也可以被访问
5,流程控制语句
JS中的程序是从上向下一行一行执行的,通过流程控制语句可以控制程序执行的流程。
(1) DEMO1, 正三角
// for 循环控制图像的高度
for (var i = 0; i < 5; i++) {
// for 循环控制图像的宽度
for (var j = 0; j < i + 1; j++) {
document.write('*  ')
}
document.write('<br />')
}
(2) DEMO2, 倒三角
for (var i = 0; i < 5; i++) {
// for 循环控制图像的宽度
for (var j = 0; j < 5 - i; j++) {
document.write('*  ')
}
document.write('<br />')
}
(3) DEMO3, 九九乘法表
// for 循环控制图像的高度
for (var i = 1; i <= 9; i++) {
// for 循环控制图像的宽度
for (var j = 1; j <= i; j++) {
document.write(j + ' * ' + i + '=' + (i * j) + '  ')
}
document.write('<br />')
}
(4) Demo4, 打印1-100之间所有的质数
for (var i = 2; i <= 100; i++) {
// for 循环控制图像的宽度
var flag = true
for (var j = 2; j < i; j++) {
// 判断i是否能被J整除
if (i % j === 0) {
// 说明i不是质数
flag = false
}
}
if (flag) {
document.write(i + '  ')
}
}