JavaScript基本语法,函数,流程控制

1.JS概述

1.1概述

JavaScript
1995年~~
是基于对象和事件驱动的脚本语言,应用在客户端
基于对象:提供了很多对象,可以直接使用
事件驱动:js实现动态效果
作用:提高用户体验,提供交互效果

1.2特点

交互性:实现信息地动态交互
安全性:不可以直接访问磁盘上的文件
跨平台性:只要是可以解析js的浏览器都可以使用

1.3和java的关系

JavaScript和Java没有任何关系
a.开发公司
Java:Sun公司
JavaScript:网景
b.对象
js:基于对象
java:面向对象
c.数据类型
Java:强类型语言
js:弱类型的语言,变量的类型由值决定var age = 3;

1.4js组成

a.ECMAScript提供的一套js语法
b.BOM:Browser Object Model,浏览器对象模型
c.DOM:Document Object Model文档对象模型

1.5js与html结合

方式1:在head标签中,使用script标签(内嵌式)
方式2:单独定义一个js文件,在js文件中编写js代码,使用script标签在src属性中引入js文件(外联式)
细节:
1.两种方式可以同时使用,并且可以使用多次,执行顺序与书写顺序一致
2.两种方式不能混合使用

1.6注释

作用:对代码进行解释说明
单行注释://注释内容
多行注释:/*注释内容*/

2.js语法

2.2数据类型

2.2.1一般数据类型

Boolean:布尔类型,只有true和false
Number:数值类型
String:字符串,只能用单引号或者双引号
Object:对象
Array:数组
Function:函数
RegExp:正则表达式

2.2.2特殊的数据类型

Null:当定义一个变量是,但是这个变量没有任何指向,那么它的类型就是Null
Undefined:定义了一个变量,但没有赋值
NaN:not a number 不是一个数字

2.2.3Arry

2.2.3.1概述

数组是一种特殊的数据类型,用户存放一个或者一个以上的元素之
特点:
同一个数组可以存放任意类型的元素
通过push来添加元素

2.2.3.2创建

方式一:
var 数组名 = [值1,值2.....];
方式二:
var 数组名 = new Array(值1,值2,.....);

2.2.3.2数组的访问

格式:数组名[下标/索引]
细节:如果下标/索引超过了范围,会报undefined

2.2.3.3数组的访问

数组名.join("---");
数组名.push(值1,值2....)

2.2.4Object

2.2.4.1对象的创建

方式一:
构造函数创建对象
var 对象名 = new Object();
对象名.属性 = 值;
对象名.方法名 = function(){
    方法体
}
方式二:
对象字面量,使用键值对之间创建对象
var 对象名 ={
    属性1:值1,
    属性2:值2,
    方法名:function(){
        
    }
}

2.2.4.2属性和方法的调用

1.属性调用
对象名.属性
2.方法调用
对象名.方法名

2.3运算符

2.3.1算术运算符

+:求和,字符串拼接
-:减法
*:乘法
/:除法
%:求余数
细节:
1.结果的正负与被模数一致
2.a%b的结果范围是[0,b)
--,++:自增自减
前置后置:
1.单独运算,前置后置没有区别
2.符合运算
前置:先执行自增自减在执行其他操作
后置:先执行其他操作,在执行自增自减

2.3.2逻辑运算符

&&:与,并且
||:或,或者
!:逻辑非,取反
^:异或 表达式两边相同结果为false,不同为true

2.2.3关系运算符

<,>,<>,>=,<=,!=
==:判断相等 判断数值是否相等
===:判断值和类型是否完全相等

2.2.4赋值运算符

=,+=,-=,*=,/=,%=

2.2.5三目运算符

格式:
表达式?表达式1(变量或常量):表达式2(变量或常量)
原理:判断条件表达式的结果,如果结果为true表达式为1,反之表达式为2

2.2.6typeof操作符

typeof用来检测变量的数据类型
字符串返回String
整数小数返回number
布尔类型返回boolean
数组,json返回object

2.4流程控制

2.4.1概述

流程控制分为三类:
顺序结构,分支结构,循环结构

2.4.2分支结构

2.4.2.1单if结构

if(条件表达式){
   语句
   }

2.4.2.2双分支(标准if-else)

if(条件表达式){
    语句1
   }else{
   语句2
   }

2.4.2.3多分支

if(条件表达式1){
    
}else if(条件表达式2){
    
}else if(条件表达式3){
    
}else{
    
}

2.4.2.4嵌套

if(条件表达式1){
    if(条件表达式1.1){
        
    }else if(条件表达式1.2){
        
    }else{
        
    }
}else{
    
}

2.4.3选择语句–switch

格式:
switch(表达式或者变量){
    case 常量1:
    		语句;
    		break;
    case 常量2:
    		语句;
    		break;
    case 常量3:
    		语句;
    		break; 
    default:
    		语句;
    		break;
}
    细节:
    1.case后的值必须是唯一的
    2.default便是没有任何一个case与switch后值匹配的默认情况
    3.break表示跳出整个结构,不写break会有穿透性

2.4.4循环语句

2.4.4.1循环语句–while

格式:
while(条件表达式){
    循环体
}

2.4.4.2循环语句–do-while

格式:
do{
    循环体
}while(条件表达式);

2.4.4.3循环语句–for

格式:
for(初始化;条件判断;步进表达式){
    循环体
}

2.4.4.4死循环

3.函数

3.1自定义函数

3.1.1概述

函数式被设计执行某特定任务的代码块。
函数在被调用时才会执行

3.1.2语法

格式:
function 函数名(参数列表){
    要执行的代码
}
function:函数必须通过function关键字来定义
函数名:标识符
参数列表:形式参数,与java相同
方法体:要执行的功能

3.1.3函数调用

1.事件发生
2.其他js代码调用时
3.自调用

3.1.4函数的参数

参数与java中的参数相同,
定义方法时时形式参数(不需要声明形参的类型),
调用方法时的参数是实际参数
注:
1.当出现同名方法时,后面的方法会覆盖前面的方法,当进行调用时,调用的后写的方法
2.事件发生时,调用方法的参数是this,表示传递的参数是发生事件这个标签自己的对象

3.1.5函数返回值

使用关键字return
1.结束方法
2.将方法的返回值,返回给调用者
js的方法中没有返回值类型

3.2匿名函数

3.2.1概述

匿名函数,就是没有名字的函数
function add(参数列表){
    方法体
}
匿名:
function(参数列表){
    方法体
}

3.2.2匿名函数的调用

方式一:
将此匿名函数用一个变量进行接收,这个变量名就相当于这个匿名方法的方法名
var func = function(a,b,c){
    alert(a+b+3);
}
方式二:
自调用
(function(a,b){
				alert("自调用调用的匿名方法"+a+b);
			})(5,5);
方式三:
使用事件进行调用需要用到onload事件
	//通过事件来调用
			onload = function(){
			var btn =document.getElementById("btn");
			alert(btn);
			btn.onclick=function(){
				alert(123);
			}
			};
方法四:
将此匿名方法作为对象的方法调用
	var lqq = new Object();
			lqq.play = function(){
				alert("玩游戏")
			};
			var lxx ={
				play:function(){
					alert("玩吃鸡");
				}
			};
			lqq.play();lxx.play();
方式五:
将匿名函数作为另一个函数的参数
function f2(){
				alert("不是匿名方法")
			}
			function f1(a){
				a();
			}
			f1(function(){
				alert("匿名方法")
			});
			//匿名函数作为其他函数的参数
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值