一、JS的基本语法
页面分为:结构、样式、行为(html结构、css样式、JavaScript行为)
用来做:网页的骨架、网页的修饰、网页的动作
1、JavaScript和HTML5的关系
是一种新的技术,目前而言,HTML5是一些标签,有了JS之后,这些标签深层的扩展功能得以实现
2、如何编写及运行JS
js是一种脚本语言,可以用两种方式在HTML页面进行引入,== 外联==,内部
外联JS的写法:
<script src="相对路径"></script>
这是一条html语句,可以放在html页面的任意位置
相对路径链接的是JavaScript文件,文件扩展名为js,如index.js
跟随页面的加载,按照顺序执行
内联JS的写法:
<script>
// 在script标签内写js脚本
</script>
跟随页面的加载,按照顺序执行
写在标签的属性内
- 行为属性
- 只能通过行为主动触发,不方便使用
3、JS的输出语句
阻塞程序执行,转成字符
弹出信息框,BOM
alert括号里写弹出的内容,打开页面弹出一条信息,BOM也就是这条信息是由浏览器提示的
alert("Helle,word");
弹出的信息框的内容为{object object}
alert(括号内写一个对象{})
影响页面,转成字符
打印到页面,DOM
转成字符
可以解析标签
页面加载完成后执行会覆盖整个页面内容:
document.write("Helle,word")
打印到页面的的内容为{object object}
document.write(括号内写一个对象{})
·············································································
alert和write会强行将要打印的信息转换为字符
·············································································
推荐使用
打印到控制台,BOM
原类型打印:
console.log("Helle,word")
打印到控制台的内容为{} 原类型
console.log({})
4、JS的数据类型
1、常用的数据类型
1) 字符:只要使用引号包裹的数据:’ “ `,就是字符,字面量(写什么就是什么,没有有特殊的含义)
2) 数值:0123456789 (正常数字),NaN(非法数字,非法运算)
3) 布尔:true、false
4) undefined:空值、未赋值 ,它的值就是undefined
5) 对象:{},花括号有时代表一个作用域
6) 数组:[]
7) 函数:function 名字 () {}
2、检测数据类型
typeof 要检测的数据
1)在控制台检测数据 console.log(typeof “hellow”) 打印结果为String 检测的结果为字符类型
2) 在控制台检测对象 console.log(typeof {}) 打印结果为object 检测的结果为对象的单词
3) 在控制台检测对象 console.log(typeof typeof {}) 在检测对象的基础上再去检测一个 打印结果就为String
·························································································································
结果以字符的形式出现
·························································································································
5、JS的组成及含义
1)ECMAScript:语法、规范
2)DOM:文档对象模型
3)BOM:浏览器对象模型
6、JS的数据类型有哪些(单词)
string、number、Boolean、undefined、object、function
7、任意声明一个变量并赋值,并打印该变量的类型
var a = 123;
console.log(typeof a);
8、js的运算符有哪些,分别为?
算术:+ - * / %
关系:> >= < < == === != !==
逻辑:|| && !
赋值:= += -= *= /= %= ++ --
9、js中的三大特殊数据
1)undefined
- 未赋值
- var a;
2)NaN
- not a number
- 不是一个数字的数值型数据,表示非法的数值运算结果
- isNaN(要判断的数据)
- 隐式类型转换,任何数据,转成数值
- 是NaN,得到true
- 不是NaN,得到false
- 与任何数据都不想等,哪怕是自己
3) null
- 空
- “”空字符 {}空对象 []空数组
- 类型是对象,object
- 对象:指针(内存地址),数据
- var b = null;
4)比较
- NaN不等于任何数据
- undefined和null可以两等于
二、JS的基本语法----- 练习
1、战士连续作战89小时,编程计算共多少天零多少小时?
var hours = 89; // 题中写出作战89小时
var h = hours % 24; // 先算零头,作战的时间和一天24小时进行取余,余后就是剩下多少小时
var d = (hours - h) / 24; // (拿总的作战时间 - 余下的时间) / 24小时 = 得到的是天
console.log(d); // 打印得到天
console.log(h); // 打印得到余下的小时 最后得到3天17小时
优化展示:console.log(d + "天" + h + “小时”) 进行字符串拼接 3天17小时
2、将华氏温度(80度)转为摄氏度,公式:摄氏度 = 5/9.0 * (华氏度 - 32)
知道华氏度为80
摄氏度 = 5/9.0 * (80 - 32)
var h = 80; // 华氏度 h
var s = 5/9.0 * (h - 32) // 将h带入进来
console.log(s); // 结果为26.66666666666666666
3、var k = 10; console.log(k++ + ++k +k +k++);
var k = 10;
var sum = k++ + ++k +k +k++;
10 + 12 +12 +12
console.log(k); // 13
console.log(sum); // 46