总结 : js基础
js基础语法
1.js是javaScrip的缩写,是一门脚本语言。专门用来负责网页上的行为(可以直接写到网页中)。
2.在哪儿写js代码
a。可以卸载script标签中(理论上script标签可以放到html文件中的任何位置,实际开发的时候一般放在head或者body中 )
b。写在标签的事件属性中(例如:onclick)
c。写到外部的js文件中(。js)
3.js在网页中能做什么事情
a。在网页的不同的位置插入html代码
b。修改标签的内容
c。修改标签的样式
4.怎么写js代码
1.js中的注释
//这是单行注释
/*
- 这个是多行注释
*/
2.语句
一条语句结束需要加分号(现在版本的js中可以不写分号)
一行写多条语句必须使用分号隔开
3.js没有缩进问题,用{}表示一个块
4.基本的数据类型
Number(数字)、String(字符串)、Boolean(布尔)、Array(数组)--列表、Object(对象)---字典、Function(函数)、null、undefined
5.字面量
数字字面量
132
12.3
3e8
字符串字面量
'adad';"asdasd";
布尔字面量
true;false;
数组的字面量
[1,2,3,4,'as',true]
对象的字母量(对象的key值又是熟悉,可以不用加引号)
{a:"abc"}
在控制台中打印括号中的内容,功能和python中的print
console.log('hello world');console.log('你好,世界')
6.表示符
使用表示符来命名
a。由字母、数字、和美元符号组成,数字不能开头
var h8uu$;
b。不能是关键字
var for
c。大小写敏感,Y和y不一样
var For
d。规范:1.要见名知意。
2、变量声明
在js中可以通过声明变量来保存数据
1、语法
var 变量名;
var 变量名=初值;
说明:var是关键字;
变量名:标识符,不能随意使用_或者是$开头;驼峰式的命名规则(第一个单词的首字母小写,后面每个单词的首字母大写)
声明变量
var userName
userName='wang'
console.log(userName)
var score=400
console.log(score)
同时声明多个变量
var name,age,sex;
var name1='abc',age1=18,sex;
一个变量可以存储任意类型的值,声明变量的时候没有赋值,默认值是undefined
var a='abc'
a=100
3、运算符
1.数学运算符:+,-,,/,%,++,--
a.+,-, ,%和数学中的是一样的
var a=10+20
var b=10*3
var c=20-10
var d=7%2
b./和数学中的除是一样的
var e=5/2;
console.log(e)
c.++,--
++:自加一 用法:变量++或++变量
--:自减一 用法:变量--或--变量
var a1=10;
a1++
console.log(a1)
2.比较运算符:>,<,==(相等),!=,>=,<=,===(完全相等),!==,>==,<==
结果都是布尔值
console.log(10>20)
==:判断值是否相等
console.log(5==5)
console.log(5=='5')
===:判断值和类型是否相等
console.log(5==='5')
console.log(5!=='5')
3.逻辑运算符:&&(与)||(或)!(非)
console.log('与:',true&&true,false&&true)
4.赋值运算符:=,+=,-=,=,/=,%=
赋值运算符的左边必须是变量
var aa=100
a+=10
a=10
a-=10
a%=10
a/=10
console.log(a)
5.三目运算符
语法:条件语句?值1:值2;
判断条件语句的结果是否正确,如果是true,表达式的结果就是值1,否则是值2
var bb=10<20?10:20;
console.log(bb)
6.运算符的优先级和python基本一样。可以通过括号来改变运算符的运算顺序
4、分之结构
js中的分之结构有两种:if语句,switch语句
1.if语句
if(条件语句){满足条件要执行的代码块}
var age=18;
if(age>=18){
console.log('成年')
}
age--
b.if(条件语句){语句块一}else{语句块二}
if(age>=18){
console.log('成年')
}else{
console.log('未成年')
}
c.if - else if -else
if(age<18){
console.log('未成年')
}else if(age<40){
console.log('轻年')
}else{
console.log('老年')
}
2.switch语句
switch(变量){
case值:
语句1;
break;
case值2:
语句2;
break;
......
default:
语句3;
break;
}
执行过程:使用变量的值依次和后边每个case后面的值进行判断,如果相等(判断是完全相等,及===),就执行case值后面对应的语句。
如果所有的case值都和变量不相等,就执行default后面的值
var score=10;
switch(score){
case 1:
console.log('F');
break;
case 4:
console.log('D');
break;
case 10:
console.log('A+');
break;
default:
console.log('其他');
break;
}
console.log('=======')
5、循环结构
js中的循环分为for循环和while循环
1.for循环
a.for-in(python中的for循不环一样)
//取下标
for(var x in[1,2,'abc']){
console.log(x)
}
用下标取元素
var aa=[1,1,12]
for(var x in aa){
console.log(aa[x])
}
var obj1={name:'张三',age:30}
for(var x in obj1){
console.log(x,obj1[x])
}
b.for(表达式1;表达式2;表达式3){循环体}
执行过程:先执行表达式1,然后再判断表达式2的结果是否是true,如果是true就执行循环体。执行完循环体,再执行表达式3
执行完表达式3,再判断表达式2的结果是否是true,如果是true又执行循环体;执行完循环体,再执行表达式3;依次类推,
直到表达式2的结果是false,循环结束。
计算1+2+3+....+100
var sum=0
for(var i=1;i<101;i++){
sum+=i;
}
console.log(sum)
2.while循环
a.while(条件语句){循环体}---和python一样
var sum2=0
var i=1
while(i<=100){
sum2+=i;
i++;
}
console.log(sum2)
b.do-while循环:do{循环体}while(循环语句);
执行过程,先执行循环体,然后判断条件是否成立。如果成立再执行循环体。依次类推,直到条件不成立,循环结束。
var sum3=0
var i=1
do{
sum3+=i;
i++;
}while(i<=100);
console.log(sum3)
3.break和continue(和python一样)
6、函数
1.函数的声明:
function 函数名(参数列表){函数体}
function-关键字
函数名-驼峰式;见名知意
参数:参数可以有默认值,有默认值的参数要写在后面。调用函数传参的时候,是按实参的位置来传参。保证每个参数都有值
函数体:实现函数的功能。只有在调用的时候才会执行
function sum1(num1,num2){
console.log('求两个数的和')
return num1+num2
}
console.log(sum1(10,20))
函数没有return的时候,返回值为undefined
function func1(){
console.log('我是无敌男')
}
console.log(func1())
2.函数的调用
函数名(实参列表)
调用的过程和python一样
3.作用域
全局变量和局部变量
全局变量:声明在函数外面的变量(从变量声明到文件结束)
局部变量:声明在函数里面的变量(从变量声明到函数结束)
var aaa=10
function func2(){
var bbb=100
console.log(bbb,aaa)
}
console.log(func2())
console.log(aaa)
7、数据类型
数字、字符串、布尔、列表、对象
1.数字:包含整数和小数
var num1=10
var num2=new Number()
console.log(num2+10)
2.字符串
a。''和""括起来的字符集
b。转义字符(和python一样)
c。字符编码是unicode编码
var str1='abc'
var str2="abc"
var str3='\n'
var str4='\\n'
e。获取字符串长度:字符串。length
console.log(str1.length)
f.获取单个字符:字符串[下标]
下标:1.范围是0 - 长度-1;2.如果越界,不报错,但结果是undefined
js中的字符串没有切片的操作
console.log(str1[0])
g。运算符
在js中字符串只支持加操作,不支持*操作
+操作就是拼接两个字符串
js中字符串可以和其他任何数据进行加操作,其效果都是字符串连接(会将其他数据转换成字符串)
console.log('123'+'abc','bcd'+1000)
h。字符串相关方法(查)
var strstr='abc111'
re=strstr.replace(/\d+/i,'ooo')
console.log(re)
3.对象,构造方法
声明构造方法
function Person(){
this.name='abc'
this.age=18
this.sex='女'
}
var p1=new Person()
p1.age=20
p1.name='迪丽热巴'
console.log(p1,typeof(p1))