javascript基本语法 、流程控制 、函数和数组基本知识点整理

JavaScript基本知识点整理

一、基本语法

 包括标识符、变量的声明与赋值,数据类型、表达式以及运算符的使用。
 以及如何使用流程控制语句实现条件判断和代码的重复执行。

1.标识符

  • 由大小写字母、数字、下划线和美元符号($)组成,如str、arr3、get_name。
  • 不能以数字开头。
  • 严格区分大小写,如it与IT表示两个不同的标识符。
  • 不能使用JavaScript关键字作为变量名。
  • 要尽量做到‘见其名知其义’,如name表示名称。

2.变量的使用和赋值

  • 变量的声明代码演示

var sales;
var hits,hot,NEWS;

利用var声明,但未赋初值的变量,默认值会被设为定位undefined。

  • 变量的赋值代码演示

var unit, room;
unit = 3;
room = 1001;
var fname = ‘Tom’,age = 12;

省略声明变量的var关键字

flag = false;
a = 1, b = 2;

3.数据类型

(1).分类

在这里插入图片描述

  • 布尔型Boolean

var flag1 = true;
var flag2 = false;

  • 数值型Number

var oct = 032; //八进制数表示的26
var dec = 26; //十进制数的26
var hex = 0xla; //十六进制数表示的26
var fnum1=7.26; //标准格式
var fnum2 = -6.24; //标准格式
var fnum3 = 3.14E6; // 科学计数法格式3.1410^6
var fnum3 = 8.96E-3; // 科学计数法格式8.96
10^-3

  • 字符型String

var slogan = ‘Knowledge’;//单引号、存放一个单词
var str = ‘the sky is blue.’;//双引号存放一个句子
var color = ’ “red"blue’; //单引号中包含双引号
var food = " 'pizza’bread”; //双引号中包含单引号
var num = ’ ', total = " "; //定义空字符串

  • 空型Null
    只有一个特殊的null值,用来表示一个不存在或无效的对象或地址。
(2)数据类型准换
  • 转布尔型

var con = prompt();
if (Boolean(con)){
document.write('已输入内容‘);
}else{
document.write('无输入内容’);
}
console.log(Boolean(con));
console.log(Boolean(con));
console.log(Boolean(con));

通过Boolean()函数可以对用户输入的内容进行布尔型内容转换,当用户单机“取消按钮”或用户输入任何字符就单击“确定”按钮时,就会被转为false,当有内容时就会被转为false。

  • 转数值型

var num1 = prompt('请输入求和的第一个数据‘);
var num2 = prompt('请输入求和的第二个数据’);
console.log(num1+num2);
console.log(parseInt(num1)+parseInt(num2));

  • 转字符型

var num1 = num2 = num3 = num4 , num4 = 26;
console.log(String(12));
console.log(num1 + num2 + num3.toString());
console.log(num4.toString(2));

二、流程控制

1.选择结构
  • if双分支语句

if(判断条件){
代码段1;
}else{
代码段2
};

  • if多分支语句

if(判断条件){
代码段1
}else if{
代码段2
}else if{
……

  • switch语句

switch(表达式){
case 值1:代码段1;break;
case 值2:代码段2; break;
……
default:代码段n;

2.循环结构
  • while循环语句

while(循环条件){
循环体
……
}

  • do…while循环语句

do{
循环体;
……
}while(循环条件);

  • for循环语句

for( ; ; ?{
代码段;
}

3.跳转语句
跳转语句用于实现程序过程中的流程跳转。常用的跳转语句有break和continue语句
break语句可应用在switch和循环语句中,其作用是中止当前语句的执行,跳出switch选择结构或循环语句,执行后面的代码。
而continue语句用于结束本次的循环的执行,开始下一轮的执行操作。

三、数组

1.定义:

数组是存储一系列值得变量的集合,它是由一个或多个数组元素组成的,各元素之间使用逗号“,”分隔。
可划分为一维数组、二维数组、三维数组等多维数组。

2.创建数组

使用Array对象创建数组

var 数组名 = new Array(数组元素);//一维
var 数组名 = new Array(new Array(),new Array());//二维

使用“[]"创建数组

var 数组名= [数组元素];//一维
var 数组名=[ [ 数组元素], [数组元素 ] ];//二维

3.获取数组长度

代码演示

var arr1 = [78,88,98];
var arr2 = [‘a’,,,,‘b’,‘c’];
console.log(arr1.length);
console.log(arr.length);

数组的length属性不仅可以用于获取数组长度,还可以修改数组的长度

var arr1= [];
arr.length = 5;
console.log(arr1); //输出结果:5 [empty*5]
var arr2=[1,2,3];
arr2,length = 4;
console.log(arr2); //输出结果:4 [1,2,3,empty]
var arr3=[‘a’,‘b’];
arr.length=2;
cosole.log(arr3); //输出结果:2 [“a”,“b”]
var arr4=[‘he’,‘xi’,‘gu’,‘jiu’];
arr.length=3;
console.log(arr4); //输出结果:3 [“he”,“xi”,“gu”]

4.数组的访问与遍历
  • 访问数组元素

var arr = [‘hello’,‘JavaScript’,22.48,true];
console.log(arr[0]);
console.log(arr[2]);
console.log(arr);

  • 数组的遍历
    for(variable in object){……} //数组下标遍历
    of 时是数组的元素遍历
5.元素的添加与修改
  • 添加

var height=[];
height [5] = 183;
height [3]=123;
console.log(height);

  • 修改

var arr =[‘s’,‘d’,‘w’];
arr[2]=123;
console.log(arr);

  • 删除

var stu = [‘Tom’,‘jimmy’,‘lucy’];
console.log(stu);
delete stu[1];
console.log(stu);

6.二维数组的转置

var arr =[ [‘a’,‘b’,‘c’],[‘d’,‘e’,‘f’],[‘g’,‘h’,‘i’],[‘j’,‘k’,‘l’]];
var res =[ ];
for (var i = 0;i<arr[0].length;++j){
res[i] = [];
for(var j = 0;j<arr.length;++j){
res[i][j]=arr[j][i];
}
}
console.log(‘转置前:’);
console.log(arr);
console.log('转置后:);
console.log(res);
console.groupEnd();

7.数组的常见方法
  • 栈和队列方法
方法名称功能描述
push()将一个或多个元素添加到数组的末尾,并返回数组的新长度
unshift()将一个或多个元素添加到数组的开头,并返回数组的长度
pop()从数组的末尾移出并返回一个元素,弱势空数组则返回undefined
shift()从数组的开头移出并返回一个元素,弱势空数组则返回undefined
  • 检索方法
方法名称功能描述
includes()用于确定数组中是否含有某个元素,含有则返回true,否则返回false
Array.isArray()用于确定传递的值是否是一个Array,是则返回true,不是则返回false
indexOf()返回在数组中可以找到给定制的第1个索引,如果不存在,则返回-1
lastindexOf()返回指定元素在数组中的最后一份索引,如果不存在则返回-1
  • 数组转字符串
方法名称功能描述
join()将数组的所有元素连接到一个字符串中
toString()返回一个字符串,表示指定的数组及其元素
  • 其他方法
方法名称功能描述
sort()对数组的元素进行排序,并返回数组
fill()用一个固定值填充数组中指定下标范围内的全部元素
reverse()颠倒数组中元素的位置
splice()对一个数组在指定下标内删除或添加元素
slice()从一个数组的指定下标范围内拷贝数组元素到一个新数组中
concat()返回一个合并两个或多个数组后的新数组

四、函数

1.创建函数
function 函数名([参数1,参数2,……]){
//函数体……
}
2.参数设置
  • 无参
function greet() {
console.log('Hello everybody!')
}
  • 有参
function maxNum(a,b){
a = parseInt(a);
b = parseInt(b);
return a>=b?a:b;
}
3.函数的调用
函数的调用非常简单。只需要引用函数名,并传入相应的参数即可
4.变量的作用域
变量有全局变量、局部变量、块级变量。
function info(){
var age = 18;
}
console.log(age);  //输出结果:Uncaught ReferenceError: age is not defined

从上述代码可以看出,变量需要在她的作用范围内才可以被使用,这个作用范围被称为变量的作用域。

5.匿名函数
 指没有函数名称的函数,可以有效地避免全局变量的污染以及函数名城的冲突问题。
//方式1:函数表达式中的省略函数名
var fn=function (num1,num2){
return num1+num2;
}
fn(1,2);
//方式2:自调用方式
(function  (num1,num2){
return num1+num2;
})( 2, 3);
//方式3:处理事件
document.body.onclick = function() {
alert ('Hi, everybody!');
};
6.回调函数

是指一个函数A作为参数传递给一个函数B,然后在B的函数图内调用函数A,此时,A就被称为回调函数。

<script>
 function  cal(num1,num2,fn){
    return  fn(num1,num2);
}
console.log( cal(45,55,function (a ,b) {
  return  a+ b ;
}) );
console.log (cal (10, 20 , function (a, b) {   
      return a *b;
} ));
</script>

回调函数的一些方法
find()、every()、some()、forEach()、map()、reduce()、reduceRight()

7.函数嵌套与递归调用
 嵌套函数指的是在一个函数内部存在另一个函数的声明。
 递归调用是函数嵌套中调用一种特殊的调用,指的是一个函数在其函数体内调用自身的过程,这种函数成为调用函数。
8.闭包函数

指的是有权访问另一函数作用域内变量(局部变量)的函数。

  • 可以在函数外部读取函数内部的变量。
  • 可以让变量的指始终保持在内存中。
function  fn () {
     var times = 0 ;
     var c = function () {
         return ++times;
     };
     return c;
}
var count = fn ();         //保存fn()返回的函数,此时count就是一个闭包
console.log(count());
console.log(count());
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值