js的组成:ECMAScript(js的语法)、DOM、BOM
js的三种引入方式
1.外联引入 <script src="js文件路径"></script>
2.内联引入<script> 在标签内写入脚本</script>
不管script写在某个位置,都会自动识别到对的位置
3.行内 比如: <p οnclick="alert(弹跳框中的内容)">需要点击文本内容才能出现弹跳框</p>
js的输出
页面上的输出 document.write("内容");
可以再括号内增加标签 document.write("<p>内容</p>");
控制台中的输出 console.log("内容") ; 控制台中不能识别html标签
弹出框 alert("内容");
确认框 confirm("内容");
在js中;非必须 但是提倡都加上
js注释
// 单行注释
/**/ 多行注释
js的变量(用于保存数据)
变量命名规则及规范
1.由字母、数字、下划线、$组成
2.不能以数字开头
3.区分大小写
4.不能是关键字和保留字
规范 :变量名必须有意义 可以百度翻译 单词有两个时第二个单词可以取单词的钱四个字母
驼峰命名法 多个单词首单词首字母小写 后面的单词手字母大写 比如 myName
= 赋值 == 值等于 === 值和类型都等于
变量类型
强制数据类型转换
将其他类型转换为bool值时 bool(如果是数字,非0即真,如果是字符串,非" "空字符串即真)还有undefined / null / NaN会转换成false
将其他类型转换成数字类型时Number() 只有纯数字组成的字符串才能转换数字,其他都转化成NaN
parseInt()取整 如果开头是字母中间有数字则转化为NaN 开头是数字中间有字母隔开 则转化到非数字前停止 输出
parseFloat()工作原理和parseint一致,只是他可以转化有小数点的数字
非函数方式转换数字类型: var str="500";
console.log(str); //原来的字符串
console.log(+str); //取正
console.log(-str); //取反
console.log(str-0); // 使用最多
数字转换成字符串类型: console.log(String(num));
console.log(num.toString());
console.log(num+" "); //拼串
数据类型的获取
运算符
js程序的三种结构:顺序结构(从上到下执行)、分支结构(选择结构)、循环结构
prompt("请输入") 获取用户输入的值 当()中有两个值的时候用,隔开 比如prompt("请输入一个数字",22) 数字22位弹跳框中的默认值 可自行更改 也可不改
分支结构 注意: if(条件) if的()只能识别bool值,所以不管条件写成什么样,最后都转化为bool值
单分支 双分支 (else是非必须的) 多分支 isNaN()表示检查值是否为数值 数字则为false 非数字 -0 强制转换成NaN则为true
结合逻辑运算符分支
swtich选择结构
在switch中break具有穿透效果,如果缺少break,从匹配的case开始,后面的case都会匹配一遍(会穿透) 使用break可以防止穿透
switch和if的区别
if主要用于范围的判断 判断是值相等还是值和类型都相等,是看 == 还是 ===
switch用于固定值判断 默认判断的是全等 值和类型都相等
扩展:页面中输入框获取的值
三元运算符
扩展: NaN(not a number)
NaN表示一个非数字的特殊值 但发现非数字无法运算时 js不会报错 而是会返回一个NaN
NaN是number类型,表示一个非数字
NaN不等于任何值 包括它本身 例如 console.log(NaN==NaN) 在控制台会返回一个false
通过isNaN()判断括号内是否为一个数字,是则为false 不是则为true
循环结构
![](https://i-blog.csdnimg.cn/blog_migrate/e6ba39bde2e79f9e856adc8b392ccb87.png)
![](https://i-blog.csdnimg.cn/blog_migrate/011296889a45940260d15b6ac8bd030f.png)