一、JS引入方式
内部样式
<script>
document. write('你好,javascript’)--------打印输出
console. log(aaa)-------在控制台中显示,便于程序员检查
</script>
外部样式:
引入js文件:
<script scr="./外部.js"></script>
js文件后缀名是”.js“
多行代码以回车分割,如果要多句写在一行,中间必须要有”;“
二、常用语句
document. write('你好‘)------在网页中输入语句,可以包含标签在里面(css和html里的标签等,包括表格也可以渲染)
console. log(’你真6‘)------向控制台输入语句
alert(’警告,认真听课‘)------警示框
prompt(’请输入年龄')------输入语句,输入框
三、变量
prompt(‘请输入您的用户名’)
存储数据的容器,近似理解为一个盒子
变量声明:
let uname -----let 后面的是变量名
uname=‘gouxin'
console. log(uname)------打印变量,不能有引号
变量初始化,
例如:
let age=18
console. log(age)
改变变量:
uname='xiaomi'
console. log(uname)
同时声明多个变量:
let a=1,b=2
console. log(uname)
四、变量命名规范
1、必须是有效符号:大小写的字母、数字、下划线、¥等等;
2、关键字和保留字不能用于命名:function、const等;
3、不能以数字开头;
4、尽量用有意义的单词
5、命名用小驼峰命名法:xi_an_ou_peng 或者XiAnOuPeng
五、var与let
var a=12
let b=22
var-------不存在块级作用域,可以先使用,后声明,多次声明同一变量:
console.log(uname)
var uname='xiaomi'
let 必须先声明后使用:
let b=22
console.log(uname)
以后都使用let
六、常量
常量存储的数据不能再变化
声明常量:
const GENDER=‘nv’------const加常量名
常量值不能发生变化,通常用大写区分常量名(也可以小写)
七、基本数据类型——字符串
字符串类型:
用单引号‘ ‘或双引号“ ”引起来
Let a
a='xiaomi'
console.log(typeof(a))------typeof检测数据类型的方法
对于javascript弱数据类型,只有进行赋值后,才知道是声明数据类型
单双引号可以在变量中进行嵌套
let b=“你是一本参不透的’书‘”
字符串的拼接:
用加号拼接(+uname)
let uname=’zs'
let age=21
document.write(‘姓名是:’+uname+‘年龄是:’+age)
${}--------直接在括号里面写字符串类型,就不用拼接了
模板字符串:
let uname =prompt(‘请输入用户名’)
let password=prompt(‘请输入密码’)
document.write('用户名是:${uname},密码是:${password}')
document.write可以识别标签:
document.write(‘<h1>用户名是:${uname},密码是:${password}</h1>')
其他类型
数字类型:
let num=1
布尔值——true/false:
console.log(2>3)
undefined——未定义
NAN——not a number,不是一个数字:console.log(undefined+1)-----运行结果是NAN
null——空的:
console.log(null+1)
数据类型转换
隐式转换:
let a=2
let b=’3‘
console.log( a + b)------运行后是23-----默认将a数据转换成了字符串
let num1=prompt(’请请输入数字1‘)
let num2=prompt(’请请输入数字2‘)
console.log(num1+num2)------运行后是23-----相当于两个字符串的拼接
显示转换:
let num1=NUMBER(prompt(’请请输入数字1:‘))
let num2=NUMBER(prompt(’请请输入数字2:‘))
console.log(num1+num2)------最后显示台打印出来是5
let num1=+prompt(’请请输入数字1:‘)
let num2=+prompt(’请请输入数字2:‘)
console.log(num1+num2)------若输入一个3,一个2,结果也是5
-------用NUMBER或+
其他转换:
parseInt ------转化整型(尽可能),不保留小数点
parseFloat------转化浮点型,保留小数点
let c=3.1415926
let d='200.22px'
console.log(parseInt(d))
console.log(parseFloat(d))
控制台显示:3
200
200.22-----去除单位,只获取数据
运算符
+ - / %
基本运算:
let a=3
let b=5
console.log(a + b)
console.log(b - a)
console.log(b / a)-----除
console.log(b % a)-----%取余
a += 3-------a=a+3
console.log(a)
a -=3--------a=a-3
赋值运算符的优先级高于后减减,所以先赋值,后运算
前减减的优先级大于赋值运算符,因此先减减,后赋值
自增和自减:
B = 5
c=b--
Console.log(c)-------最后c=
c=--b------------最后c=4
比较运算符:
一个”=“是赋值运算符
两个”==“才是等于-----只会比较数值,会把字符串转换为数字类型
三个”===“是全等,不能把字符串转换为数值类型,不仅判断数值,还会判断数值类型是否一致
逻辑运算符:
&&----与 两真才真,一假则假
||----或 有真就真,两假才假
!----非 取反
分支语句
单分支语句:
根据不同条件,执行不同代码
if语句
Let age = +prompt(’请输入你的年龄‘)
if( age>18){
alert(’恭喜你成年了‘)
}
局限性:只能完成单一条件下的代码
双分支语句:
根据两个条件执行代码
if(条件语句){
执行代码块1
}
else{
执行代码块2
}
多分支语句:
在多个条件下执行语句
let score=+prompt(’请输入您的成绩’)-----prompt输入的东西是字符串,用”+“转换为数字类型
if(条件1){
代码块1
}
else if(条件2){
代码块2
}
else if(条件3){
代码块3
}
else {
代码块4
}
三元运算符:
形式:判断条件 ? 成立时的代码 : 不成立时的代码
3 > 5 ? alert(’这个世界疯了‘) : alert(’你是不是傻逼‘)
switch语句——循环:
let week=+prompt(’输入今天星期几‘)
switch(week){
case “1”:
alert(’今天星期一‘)
break----跳出
case “2”:
alert(’今天星期二‘)
break
case "3":
alert(’今天星期三‘)
break
default:-------无符合条件时执行的代码
alert(’猴子666‘)
break
循环语句
for循环:
for(let i=0;i<100;i++){
console.log('我爱你’)
}
---------for加表达式,并用括号括起来
while循环:
let i=1
while (i<=10) {
console.log(i)
i++
}
while (true) {
let n = prompt(’你爱我吗?)
if (n===“爱){
break
}
}
do…while循环:
let j=1
do{
console.log(j)
j ++
}
while(j<=10)
break、continue循环:
for(let i=0;i<100;i++){
If(i===50){
continue----退出本次循环(结果里没有50)
}
if(i===70){
break----退出循环
}
循环嵌套:
for (let i = 1; i < 8; i++) {
console.log(`今天是第${i}天`);
for (let j = 1; j <= 10; j++) {
console.log(`这是我送的第${j}朵花`)
}
}
星星塔:
for (let i = 1; i <= 5; i++) {
for (let j = 1; j <= i; j++) {
document.write(`<span>*</span>`)
}
document.write(`<br/>`)
}
数组
存储多个数据的容器
声明方式:[]
let arr =['gouxin','xiaomi','redmi']
console.log(arr)
打印出来:array——数组 3——数量
数组存在数组下标,从0开始
查找:
数组名[数组下标]
console.log(arr[1])
循环加强
for in for of
for in:
let arr=[1,2,3,4,5,6,7,'gouxin',true]
for(let i in arr){
console.log(i)
}
for of:
for(let k of arr){
console.log(k)
}