JavaScript第一天:
js书写位置:
-
内联(了解就行:写在标签内)
-
内部js
在前面添加script标签,在script结构中书写代码 (只能在当前页面使用)
-
外部js
将js写在单独文件中,在页面通过script引用(常用方式,可以复用)
js注释:
-
单行注释:// 注释内容
-
多行注释=文档注释=块注释:/* 注释内容 */
js输入和输出:
输入:
prompt:(可以接受用户的输入,输入的内容是字符串)
输出:
-
console.log():在浏览器控制台输出
- 不会影响页面效果
- 不会阻止浏览器进行
-
document.write():在浏览器页面输出
- 会影响页面效果
-
alert():在浏览器页面顶部弹出框
- 会阻止浏览器运行,一般慎用
js变量:
声明
- 使用 let 关键字声明变量
- let 为变量名称
- 同时声明多个变量:let 变量1,变量2
赋值
- 如果声明变量没有赋值,默认值为undefined
- 使用 = 为变量赋值
- 变量名 = 值
- 可以声明时直接赋值:let 变量名 = 值 (let: age = 20)
修改/使用
- 变量可以直接输入、操作
命名规范和规则
-
规范
- 命名要语义化:通过变量名称可以猜测出变量的作用
- 驼峰命名:除了第一个单词和中间的字母大写,其他小写
- 不要用关键词作为变量名称 如(var、for、if、String、Array、funcition、break、else、case、boolean)
-
规则
- 不要以数字开头
- 变量名称里面不要包含特殊符号、除了 _ 数字 字母 $ 之外都是特殊符号
- 严格区分大小写
字串符:
- 带引号的都是字串符
- +:在字串符场景中是字符串连接符
- 模板字串符
- 简化拼接字串符
- 可以创建多行文本
- 标记:``(tab键上面的反引号)
- 变量替换; ${变量}
- 模板字串符可以创建多行文本,而单引号和双引号只能创建单行文本
<script>
let name = "小花"
let age = '18'
document.write(`大家好,我叫${name}今年${age}岁了`)/* 大家好,我叫小花,今年18岁了 */
</script>
数据类型:
作用:1. 更加充分和高效的利用内存
2. 也更加方便程序员的使用数据
-
基本数据类型
-
数字型:number (JavaScript 中的正数、负数、小数等 统一称为 数字类型)
<body> <script> let score = 100 /* 正整数 */ let price =12.555 /* 小数 */ let temperature = -30 /* 负数 */ </script> </body> -
字符串型:string
<body> <script> let name = '小明'/* 使用单引号 */ let username = "小花"/* 使用双引号 */ let str = '123'/* 看上去是数字,用引号包裹了就是字串符 */ let str1 = ""/* 这种情况叫空字串符 */ </script> </body><script> document.write("奥特曼"+"打怪兽")/* 奥特曼打怪兽 */ let name = "奥特曼" let uname = '真勇猛' document.write(name + uname)/* 奥特曼真勇猛 */ </script> -
布尔型:boolean
<script> /* 问你帅不帅 回答 是 和 不是 */ let is =true /* 真 表是 */ let no = false /* 假 表不是 */ </script> -
未定义型:underfined (表示没有赋值)
<script> let age; console.log(age); // 只声明不赋值 underfined console.log(age) // 不声明不赋值 直接引用 报错 age = 20; console.log(age); // 不声明 只赋值 10 不提倡 </script> -
空类型(表示赋值了内容为空)null:表示值为空
<script> let age = null </script>
-
-
引用数据类型
- 对象:object
- 函数:function
- 数组:array
数据类型转换:
1.检测类型typeof
-
typeof 123 number 数字型
-
typeof "123" string 字串符型
-
typeof true boolean 布尔型
-
typeof undefined undefined 未定义型
-
typeof null null 空类型
<script> let age = 18 // 检查 typeof 写在括号里面 document.write(typeof age) </script>
2.隐式转换
-
将字串符转换为数值
-
+num
-
-num
-
num * 1
<script> let age ='18'/* 现在是字串符类型 */ document.write(typeof +age)/* 加个+ - *1就变成数字类型 */ </script><script> let a = '1' let b = '2' document.write(a - b) </script> <script> let e = '2' let f = '2' document.write(e * f) </script> <script> let c = '2' let d = '2' document.write(d / c) </script> <!-- 减号和乘号还有除号放中间也能使字串符类型转换为数字类型 但是加号不行 -->
-
-
将数值转换为字串符
-
(num +"")
-
String(num)
-
num.tostring()
<script> let num = 20 let nu = 10/* 本来是数字类型 */ document.write(num+"" + nu)/* 在数值的后面加+""就变成字串符类型了 */ </script> <script> let age = 20 let ag = 10/* 本来是数字类型 */ document.write(String(age) + ag)/* 在数值的前面加String,数值再用括号包裹,就变成字串符类型了*/ </script> <script> let a = 20 let b = 10/* 本来是数字类型 */ document.write(age.toString() + ag)/* 在数值的后面加String,String后面再加个括号,就变成字串符类型了*/ </script>
-
3.显式转换
-
Number(变量):将变量转换为数值 {如果有非数值,返回NaN
例:两种方法 等...
<script> let age = Number('18') document.write (typeof age) </script> <script> let num = '18'/* 本是字串符类型 */ document.write (typeof Number(num))/* 用Number加括号包裹住数值就变成数字类型 */ </script> -
string(变量):将变量转换为字符串
例:两种方法 等...
<script>
let age = String(18)
document.write (typeof age)
</script>
<script>
let num = 18/* 本是数字类型 */
document.write (typeof String(num))/* 用String加括号包裹住数值就变成字串符类型 */
</script>
-
parseInt(变量):将变量换为整数
-
如果有非数值就进行转换,只到碰到非数值为止
-
如果第一个数值就是非数值,就还回NaN
<script> let age = '18.5'/* 不管是数字类型还是字符体,只要里面包裹的是数字,如果不是数字后台返回NaN */ document.write( parseInt(age)) /* parseInt()包裹数值进行数字类型转换,并且数值转为整数 */ </script>
-
-
parseFloat(变量):将数字字符串转换为数值,保留小数
<script> let age = '18.5'/* 不管是数字类型还是字符体,只要里面包裹的是数字,如果不是数字后台返回NaN */ document.write( parseFloat(age)) /* parseFloat()包裹数值进行数字类型转换,会保留小数*/ </script>