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("匿名方法")});//匿名函数作为其他函数的参数

JavaScript基本语法,函数,流程控制相关推荐

  1. JavaScript 系列四:流程控制

    快来加入我们吧! "小和山的菜鸟们",为前端开发者提供技术相关资讯以及系列基础文章.为更好的用户体验,请您移至我们官网小和山的菜鸟们 ( https://xhs-rookies.c ...

  2. MySQL-视图-触发器-事务-存储过程-函数-流程控制-索引与慢查询优化-06

    目录 视图*** 什么是视图 为什么要用视图 如何生成视图 修改视图 --> 最好(千万)不要 关联表数据改动前 关联表数据改动之后 触发器 什么是触发器 触发条件 触发器语法结构 修改mysq ...

  3. python while语法结构_python语法之流程控制(if while for)

    一.python语法之流程控制 1.1什么是流程控制? 流程控制即控制流程,具体指控制程序的执行流程,而程序的执行流程分为三种结构:顺序结构(之前我们写的代码都是顺序结构).分支结构(判断).循环结构 ...

  4. PLSQL基础语法二-流程控制,循环

    2019独角兽企业重金招聘Python工程师标准>>> --流程控制 --分支语句 --练习1:字符串 declarestr varchar2(18):='b'; beginif(s ...

  5. PHP学习(php概念、基本语法、流程控制)

    一.初识PHP脚本 1.PHP开始标记 <?php 2.PHP结束标记 ?> 3.页面最终是通过HTML,CSS,JS来进行展示的 4.PHP代码可以嵌入html代码中,可以嵌入到任意位置 ...

  6. java 基本语法与流程控制_Java基础语法之控制流程

    Java基础语法之控制流程 语言的流程控制提供了对程序步骤的基本方法. 三大流程控制语句:顺序.选择.循环 复合结构 复合结构是以一个区块为单位的,由"{"开始"}&qu ...

  7. python开发基本流程_第一阶段:Python开发基础 day06  Python基础语法入门--流程控制(二)...

    一.上节课内容回顾 三种格式化输出 占位符 format格式化 f-String格式化 基本运算符 算术运算符 比较运算符 逻辑运算符 赋值运算符 身份运算符 运算符的优先级 流程控制之if判断 单分 ...

  8. JAVA语言语法_流程控制(part3)

    文章目录 JAVA语言语法 三.流程控制 1.程序流程控制概述 2.顺序结构 3.分支结构 4.分支结构语句练习 5.加深键盘类Scanner类的使用 6.分支结构语句练习2 7.分支结构&s ...

  9. Java基本语法-程序流程控制

    程序流程控制 流程控制语句是用来控制程序中各语句执行顺序的语句,可以把语句组合成能完成一定功能的小逻辑模块. 其流程控制方式采用结构化程序设计中规定的三种基本流程结构,即: 顺序结构.分支结构.循环结 ...

  10. python控制结构(一)if分支入门_【2020Python修炼记12】Python语法入门—流程控制(if分支结构+while/for循环结构)...

    一.条件 灵魂三问: 什么是条件?什么可以当做条件?为何要用条件? 1. 条件,就是判断依据,判断前提-- 2.条件的类型 # 第一大类:显式布尔值 条件可以是:比较运算符 # age = 18 # ...

最新文章

  1. ArcUser 2006第2期拾零
  2. 静态资源存储 vs 对象资源存储
  3. 机器学习算法(1)——贝叶斯估计与极大似然估计与EM算法之间的联系
  4. sql server死锁_SQL Server如何选择死锁受害者
  5. 程序员面试金典——7.7第k个数(丑数)
  6. 傅里叶变换及其实现(MATLAB)
  7. ele饿了么表单验证的校验提示突破v-if的限制
  8. base64加密及方式
  9. 【迁移学习】Self Paced Adversarial Training for Multimodal Few-shot Learning论文解读
  10. html行内样式选择器怎么写,巧用CSS伪类选择器实现九种样式的九宫格
  11. 优酷视频在网站里播放
  12. 自我中心网络:科普+数据共享
  13. 基于Android的人脸识别
  14. TM1668 与 CT1668 驱动有差异?
  15. TC源码分析一,tc命令
  16. 如何查看win 10 无线密码
  17. 发光二极管与光电二极管区别
  18. 使用tushare检验沪深300收益率和中证500收益率相关性
  19. 星起航:抖音小店怎么设置达人佣金
  20. 网狐棋牌手端无法进入登录页面

热门文章

  1. vsnprintf 变参
  2. graylog使用总结这一篇就够了
  3. JavaScript 静态成员和实例成员
  4. linux jsoncpp,jsoncpp在linux下的配置
  5. C#海康威视SDK 2.0下载图片时遇到的问题
  6. 流水线与cell式生产
  7. 开通阿里云code,新建项目,和本地编辑器中的项目关联
  8. 洗地机选哪个牌子好、洗地机排名
  9. 【R语言】Rmarkdown无法启动png装置 unable to start png() device
  10. 【转载】 -- 巴菲特为什么不投资科技公司