js基础--笔记

这篇博客详细介绍了JavaScript的基础知识,包括script标签的使用、变量类型的检查、数据类型转换、运算符优先级、流程控制结构(如if-else、switch-case、循环)以及数组、函数的用法。还探讨了全局变量和局部变量的作用域,并提到了JavaScript中的arguments对象。
摘要由CSDN通过智能技术生成

1.在一对js标签中,出现错误代码,该行后的所有代码不会被执行
2.不同js标签,不会互相影响
3.script标签中可以写属性 type=“text/javascript”或者language=“javascript”,但是属性都可以省略,也可以同时设置
4.script标签一般放在body最后(为了页面加载速度,先加载元素,后渲染效果)或head中
5.引用外部js,那么这对标签中不要写任何js,如果要写,重新写一个
6.如何获取一个变量的类型:
typeof(变量名) 或者 typeof 变量名
一般通过console.log()打印在控制台中显示为蓝色即number类型,黑色为string类型
7.number类型范围可查看
Number.MAX_VALUE //最大值
Number.MIN_VALUE //最小值
8.undefined 和 null的区别
undefined表示声明了一个没有复制的变量,变量之生命的时候默认是undefined
null只有手动给变量赋值为null
9.类型装换
1)其他类型转数字类型(三种方式)
parseInt(); //转整数
parseFloat(); //转小数
Number(); //转数字,这种转换方式严格,
2)其他类型转字符串类型
变量.toString(); //如果变量有意义,使用该方法转换
String(变量); //如果变量无意义,使用该方法转换
3)其他类型转布尔类型
Boolean(值);

10.操作符,用来计算
1)算术运算符
算术运算表达式:由算术运算符连接起来的表达式

      • / ++ –
        % //取余 var num=10; var result = num%3; //结果 result = 1;
        2)一元运算符
        只需要一个操作数就可以运算 ++ –
        2)二元运算符
        需要两个操作数才可以运算 + - * / %
        3)三元运算符
        运算符: ? :
        4)复合运算符
        复合运算表达式:由复合运算符连接起来的表达式
        += -= *= /= %=
        5)关系运算符,表达式计算结果为boolean型

< >= <= ==(值相等) =(值、类型都相等) != !
6)逻辑运算符
&&(逻辑与,并且) ||(逻辑或,或者) !(逻辑非,取反)
11.运算优先级
() 最高优先级
一元运算符 ++ – !
算术运算符 先* / % 后+ -
关系运算符
相等运算符
逻辑运算符 先&& 后||
赋值运算符

12.一元运算符++ –
不参与运算,运算符在变量前后效果一样
var num=10;
var sum=num++ +10;// 先参与运算 后自加
console.log(sum);//结果为20

var num=10;
var sum=++num +10;//先自加 后参与运算
console.log(sum);//结果为21
13.流程控制
1)顺序结构,从上到下从左到右
2)分支结构,
a)if语句,先判断表达式的结果,如果结果为true,执行代码块,如果结果为false不执行{代码块}
if(表达式){
代码块
}
b)if - else语句,如果表达式是true则执行代码1,如果表示结果为false执行代码2
if(表达式){
代码1
}else{
代码2
}
c)三元表达式
语法:var 变量 = 表达式1?表达式2:表达式3
执行过程:表达式1的结果是true,则执行表达式2,然后表表达式2的结果赋值给变量,如果表达式1的结果是false,则执行表达式3,并经表达式3的结果赋值给标量。
var x =10;
var y =20;
var result = x > y ? x : y;
console.log(result); //结果为20
d)if-else if语句
需要写多少分支可以根据需求增加判断,执行顺序,判断表达式1为true执行代码1,表达式1位false,判断表达式2为true执行代码2,表达式2位false,判断表达式3依次执行
if(表达式1){
代码1
}else if ( 表达式2){
代码2
}else if ( 表达式3){
代码3
}else{
代码4
}
e)switch -case 语句
语法:
switch(表达式){ //获取表达式的值,与case后的值依次比较,想等执行对应代码,
case 值1:代码1;break; //与case后的值依次比较,想等执行对应代码,
case 值2:代码2;break;
case 值3:代码3;break;
//多个case分支
default:代码n;//该语句后的break可以省略
}
3)循环结构
a)while循环(先判断,后执行循环,可能一次循环体都不会执行)
语法:
var 变量 =0; //计数器
while(循环条件){
循环体;
计数器++;
}
执行过程:
先判断循环条件,条件为true,执行循环体,计数器加1,再判断循环条件,条件为true执行循环体,计数器加1,再判断循环条件知道循环条件返回false,停止执行。
b)do - while循环(先循环,后判断,至少会执行一次循环体)
语法:
do{
循环体
}while(条件);
执行过程:
先执行一次循环体,再判断条件,条件成立(true)再次执行循环体,不成立(false)跳出循环。
c)for循环(知道了循环次数,推荐使用for循环)
语法:
for(表达式1;表达式2;表达式3){
循环体
}
执行过程:
先执行一次表达式1,然后判断表达式2,如果不成立直接跳出循环;如果表达式2成立,执行循环体的代码,结束后,跳到表达式3执行,然后再判断表达式2是否成立

14.关键字的使用
1)break(如果再循环中使用,遇到了break,立即跳出当前循环)
for(var i = 0 ;i<10;i++){
while(true){
console.log(“while内循环”);
break; //跳出while循环
}
console.log(“for循环执行次数”+ i+1); //break无法跳出for循环,for循环会执行10次
}
2)continue(如果再循环中遇到continue,直接开始下一次循环)
var sum =0;
for(var i = 1 ;i<=10;i++){
if(i%2==0){
i++;
continue; //偶数仅自加后进行下次循环,不执行后续的加和操作
}
sum +=i; //奇数求和
i++
}
15.数组:一组有序的数据
作用:可以一次性存储多个数据
定义:
var 数组名=new Array(); //通过构造函数定义数组
var 数组名=new Array(长度); //数据有长度没数据,那么数据中每个值都是undefined

var 数据名 = []; //通过自变量的方式创建数组
数组元素:数组中存储的每个数据,都可以叫数组的元素,每个元素的类型都可以不同,通常使用时同一个数组的数据都相同,方便对数组元素统一操作。
数组长度:就是数组中元素的个数
数组索引:数据下标,用来存储或访问数组中的数据,小标超长获取不到元素内容。
获取数组中指定数据的方式 :数组名[下标] //数组下标从0开始
var 数组名=new Array(10); //一个数字,表示数组长度为10,每个元素都是undefined
var 数组名=new Array(10,20); //多个值,表示数组长度为2,每个值对应给定的值

16.for循环遍历数组
var arr = [10,20,30,40,50]
var sum = 0;
var avg = 0;
var max = arr[0];
for(var i = 0 ; i < arr.length ; i++){
console.log(arr[i]); //循环输出数组各元素值
sum += arr[i]; //数组元素求和
if(max < arr[i]){
max = arr[i]; //求数组中最大值
}
}
avg = sum/arr.length; //求平均值

17.冒泡排序

18.函数
定义:把代码封装,等需要时直接调用
作用:代码重用
语法:
function 函数名(参数){ //如果有函数名,是命名函数;如果没有函数名,是匿名函数
函数体
}
调用:
函数名(); //匿名函数不能直接调用,需要将函数赋值给变量,形成函数表达式
var num = function(){
代码块;
}
函数表达式和函数声明区别:
函数声明时,如果函数名重复,后声明的函数覆盖先声明的函数,函数调用后整体结果为后声明函数的返回值。
例:
function f1(){
console.log(“这是第一次声明函数”)
}
f1(); //这是第一次调用函数
function f1(){
console.log(“这是第二次重复声明函数”)
}
f1(); //这是第二次调用函数
执行结果:

如果是使用函数表达式,使用重复变量接收不同匿名函数表达式,调用时会变量的结果是不同函数表达式的值。
例:
var f2 = function (){
console.log(“这是第一次使用函数表达式”)
}
f2(); //这是第一次调用函数
var f2 = function (){
console.log(“这是第二次重复使用函数表达式”)
}
f2(); //这是第二次调用函数
执行结果:

函数参数:在函数定义时,函数名括号内的变量就是参数,目的是调用是对传入的值操作
形参:函数在定义的时候小括号里的变量教形参
实参:函数在调用的时候小括号传入的值
返回值:
如果一个函数中有return,那么这个函数就有返回值,且return之后的代码将不会执行
如果一个函数有参数,就是有参数的函数
如果一个函数有返回值,调用时需要有参数接收;如果一个函数没有返回值,却定义变量接收,值为undefined
如果一个函数声明了变量,调用时未赋值,结果也是undefined

例:求一组数字的和、最大值
//定义函数
function getArraySumMaxMin(array){
var sum = 0;
var max = array[0];
var min = array[0]
for(var i=0;i<array.length;i++){
sum = sum + array[i];
if(max<array[i]){
max = array[i];
}
if(min>array[i]){
min = array[i];
}
}
var arr = [sum,max,min];
return arr;
}
//函数调用
var arr = [1,4,32,56,67];
var result = getArraySumMaxMin(arr);
console.log(“和:”+result[0]);
console.log(“最大值:”+result[1]);
console.log(“最小值:”+result[2]);

19.伪数组 arguments

例:
function getArraySum(){
var sum = 0;
for(var i=0;i<arguments.length;i++){
sum = sum + arguments[i];
}

20.作用域
全局变量:声明的变量是使用var声明,那么这个变量就是全局变量,全局变量可以在任何位置声明。全局变量页面不关闭,变量占用的空间不释放。
局部变量:在函数内容声明的变量,是局部变量,函数外不可使用

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值