<!-- js的三种引入方式 -->
<!-- 行内引入 -->
<button onclick="alert('结束')">点击</button>
<!-- 内嵌引入 -->
<script>
alert('结束')
</script>
<!-- 外链引入 -->
<script src="此处使用其他文件">
</script>
<!-- 注:script标签存在src属性后,其内部就无法再写js代码 -->
<!-- 一般写js的时候用外链引入 -->
<!-- 对话框 -->
<script>
//警示框
alert("结束")
//输入框
prompt("请输入:")
//控制台打印
console.log("此处字样在控制台显示")
//页面打印
document.write("此处字样出现在网页上(即原本html主体位置)")
</script>
<!-- 关键字:即在程序中有含义的字词 -->
<script>
// 单行注释
/**
* 多
* 行
* 注释
* */
</script>
<script>
//变量:代码运行时,存储数据的容器(注意,是容器!!!)
//变量声明:var let(一般用let)
//变量使用: let+变量名
let pwd
//变量赋值
pwd=prompt("请输入:")
//若用alert取用变量,则不用在括号内加引号,即alert(pwd)
//变量的初始化
let pwd = prompt("请输入:")
alert(pwd)
//变量的值可以重新赋值
pwd =666
//同一时间可以一次性初始化多个变量
let a=1,b=2
//let关键字声明的变量不可以重复声明,而var可以
//注:undefined表示变量只声明,但未进行赋值
//var存在变量提升,let不存在变量提升
//变量名的命名规范
//1.变量名只能由有效符号组成(大小写的字母,数字,下划线,$)
//2.不能以数字开头
//3.不能使用关键字或保留字
//4.变量名最好有意义(方便编程)
//5.变量名尽量遵循小驼峰命名法
//6.类名采用大驼峰命名法
//const声明的常量不能被更改
</script>
<!-- 数据类型 -->
<script>
//数据类型:基本数据类型和引用数据类型
//基本数据类型:
//1.数字类型 number
let a =1
alert(typeof(a))
let b=3.14 //浮点型不精确
alert(typeof(b))
//2.字符串数据类型
//被单引号,双引号括起来的字符序列
let str1='1234'
alert(typeof(str1))
//字符串的拼接
document.write("str1的值是:" + str1)
//模板字符串 'ncdjc'
document.write('用户名是:${username},密码是:${pwd}')
//document.write()可以嵌入大多数标签
//例如:
//document.write(
// <input type="text"><br>
// <h1>hjhjh</h1>
// <p>hjjhjh</p>
// )
//布尔值 boolean true false
document.write(2 > 3)
//undefined
//null
</script>
<!-- 算数运算符 -->
<script>
// + - * / %
// % 为取余
// **为幂次方
alert(3 ** 3)
//数据类型转换
//转换为number
//1.Number()
alert(typeof(Number("123")))
//2.parseInt()以及parseFloat()
//parseInt把数据尽可能地转换为整型
alert(parseInt("200px")) //此处得出的数字即为200
//parseFloat(将数据尽可能地转换为浮点型)
alert(parseFloat("22.333px"))//此处得出的数字即为22.333
//3.+
//直接在语句前加就可将之转化为number
let a = +prompt("")
//toFixed() 控制小数点位数
let a = 3.1415
console.log(a.toFixed(2)) //保留两位小数
//转换为字符串
//1.toString()
console.log(typeof(b.toString()))
//2.String()
console.log(typeof(String(b)))
//转换为布尔值
//比较运算符
//有 > < >= <= == !=(不等于)
// ==会自动将数据转换为数字,再进行比较
// ===要求数据类型一致,大小一致,结果才会为ture
//赋值运算符
//a+ a- a/ a*
//自加自减运算符
//后++的优先级小于赋值运算符,因此先进行赋值运算,再处理后++
//若let b = a++,则先将a的值赋给b,再让a自增
//前++的优先级大于赋值运算符,因此先进行前++,再进行赋值运算
//若let b = ++a,则先让a自增,再将a的值赋给b
//前++与后--与之相同
//逻辑运算符
// 即 与&& 或|| 非!
// &&:两真为真,一假则假
// ||:一真则真,两假才假
// !:
//单分支
if(条件){
条件成立时运行的代码
}
//多分支
//if,else if用法基本同C++
//三元运算符
//格式即为:
// 条件 ? 条件成立时执行的代码:条件不成立时执行的代码
// 例如: age > 18 ? alert("成年") : alert("未成年")
//转义字符
//即 "/",用于处理单引号,双引号嵌套问题
//case用法与C++大致相同