Java学习----前端4
admin
2024-02-12 04:46:26
0

今日学习内容总结如下:

定时器使用

setTimeout和setInterval。setTimeout只执行一次,setInterval会按照指定时间间隔反复执行

  • setTimeout("调用的函数", "定时的时间") ,例如 var myTime=setTimeout("disptime( ) ",1000); 每隔1000毫秒调用函数disptime( )执行
  • clearTimeout(myTime);关闭定时器

动画效果



窗口定时关闭



复合类型

复合类型就是由多个基本数据类型,包括复合类型,组成的数据体。 复合类型包括对象Object、数组Array和函数Function三种

对象

对象是一系列命名变量、函数的集合。对象中的命令变量称为属性,对象中的函数称为方法。对象访问 成员的语法是点运算符【对象变量名.成员名称】实现

访问浏览器的版本号 navigator.appVersion ,这里的navigator就是BOM浏览器对象,编程显示使用 的document就是DOM文档对象

JavaScript 是基于对象的脚本语言,它提供了大量的内置对象。常见的内置类由数组类Array、日期类 Date、错误类Error、函数类Function、数学类Math、数值Number、对象类Object和字串类String

数组

数组实际上就是一系列变量,其中数组元素的类型可以不相同,可以通过使用length属性获取当前数组 中的元素个数,也可以修改length属性对数组进行裁剪

var arr1=[1,2,34,5]; //定义数组并同时进行数组元素赋值,下标从0开始,例如arr1[0]就是1 var arr2=new Array();//定义一个空数组 arr2=new Array(6); //定义一个数组,长度为6.每个数组元素为undefined arr2=new Array(16,10);//定义一个数组,长度为2,其中第一个元素为16,第二个元素为10.如果 参数更多则含义一致

length属性是一个可读可写的属性,通过设置length属性值可以对数组进行裁剪

var brr=[1,2,3,4,5,6,7];
brr.length=3;//自动删除3个元素以后的元素
for(let k=0;k

数组的特点:

  • 数组长度可变, new Array(3) 当添加第4个元素时,数组长度自动改为4
  • 同一个数组中的元素类型可以互不相同
  • 访问数组元素不会产生数组越界问题,访问未赋值的数组元素时,值为undefined

函数

函数可以包含一段可执行的代码,也可以接收调用者传入参数

基础语法 function 函数名称(形参1,形参2,...){函数体;}

  • 特殊语法arguments

调用函数的语法 var res=函数名称(实参1,实参2,...);

运算符

通过运算符可以将变量连接成语句,语句是JavaScript代码中的执行单位

赋值运算符

赋值运算符就是使用=将一个常量值赋值给变量,并支持连续赋值 a=b=c=d=7

加强赋值运算符+=、-=、*=、/=、%=,另外还有位运算符加强运算符&=、|=、^=、>=、 >>>=。所谓的加强运算符就是所有的双目运算符和赋值运算符的结合

a=a+b可以简写为a+=b

算术运算符

算术运算符用于执行基本的数学计算,例如加+、减-、乘*、除/、求余%、自加++和自减--。 a=a+++a+++a

其它特殊计算可以使用数学库类Math

  • 次方计算Math.pow(a,5)计算a的5次方
  • 平方根Math.sqrt(a)
  • 随机数Math.random()

位运算符

与&、或|、非~、异或^、左移位>、无符号右移位>>>

比较运算符        

大于>、大于等于>=、小于<、小于等于<=、等于==、不等于!=。这里注意针对string类型使用==进行比 较,不是equals方法

严格等于===、严格不等于!==

var str="13";
var kk="3";
document.write(str>kk); //false
var str="13";
var kk=3;
document.write(str>kk);//true

严格等于要求首先数据类型一致,然后比较其中内容,否则false

逻辑运算符

与&&、或||、非!,这里支持短路操作

注意:实际上逻辑运算还可以使用位运算符&和|,两者之间的区别是逻辑运算符支持短路操作,但是位 运算不支持短路操作

三目运算符

(逻辑表达式1)?(表达式2):(表达式3) ,完全可以使用if/else替代

逗号运算符

逗号运算符允许将多个表达式连在一起,其中使用逗号分隔,整个表达式返回最右边表达式的值

var a,b,c,d; //声明变量
a=(b=5,c=7,d=8); //这里给3个变量bcd赋值,整个表达式的执行结果实际上就是最后/最右边的值,
//d=8返回值8,则最终执行a=8

void运算符

void运算符用于强制指定表达式不会返回值。

a=void(b=5,c=7,d=8); //由于使用了void运算符,所以()中不会右返回值,最终a值为undefined

typeof和instanceof

typeof运算符用户判断变量的数据类型,typeof既可以当作运算符,也可以当作函数使用。

返回类型:undefined、null[Object]、boolean、number、string、object和function 

instanceof运算符用于判断变量是否为指定类型的实例,例如arr instanceof Array

语句

JavaScript 脚本语言的基本构成是由控制语句、函数、对象、方法、属性等来实现编程的

JavaScript是一种基于对象的事件驱动的设计语言,所以在编写程序的过程中要遇到各种各样的事件,所 以我们要给不同的事件设定一定的规则来控制该流程。

JavaScript常用的流程控制有三种结构:顺序结构、选择结构、循环结构

语句块就是使用花括号{}包含的多个语句,但是语句块不能作为var变量的作用域

异常抛出语句

JavaScript中的所有异常都是Error对象,抛出异常的语法 throw new Error(异常信息提示串) 。在程序 中一旦抛出异常则立即终止后续代码的执行,寻找可以处理异常的对应的异常捕捉代码块 catch。如果 没有对应的异常捕捉块,异常将传播给浏览器,程序非正常终止。

基础语法结构

try{
语句块;
} catch(e) {
可以通过e.message获取异常的描述信息,可以通过e.name获取异常的名称
} finally {
最终执行的代码块;
}

编码测试

js异常和java异常的区别:

  • js只有一个异常类Error,无需在定义异常时声明抛出,所以没有throws语句
  • js是弱类型语言,所以在catch语句中异常类型无需执行
  • js只有一个异常类,所以也只有一个catch语句
  • 获取异常的描述信息是通过异常对象的message属性,不是通过getMessage()方法实现的。

with语句

with是一种简化写法,使用with语句可以避免重复书写对象

with(document){
writeln("Hello world!"); //不用再写作document.writeln
}

流程控制

  • 流程控制:就是程序代码执行顺序
  • 流程控制:通过规定的语句让程序代码有条件的按照一定的方式执行
  • 按照结构编程的原理,任何程序都是由顺序结构、选择结构和循环结构三种结构组成

基本分支语句:if 或者 if/else、switch

循环语句:while、do/while、for、for/in循环、break和continue【注意可以使用语句标号】

分支选择

写法1: if(条件判断){语句块;}

写法2:if(条件判断){语句块1;} else {语句块2;}

写法3:

if(条件判断1){

语句块1;

} else if(条件判断2){

语句块2;

} else if(...){

......

} else {

语句块n;

}

开关分支结构

工作原理:首先设置表达式 (通常是一个变量)。随后表达式的值会与结构中的每个 case 的值做比 较。如果存在匹配,则与该 case 关联的代码块会被执行。请使用 break 来阻止代码自动地向下一个 case 运行 

switch(表达式){ case 常量值1: 代码块1; break; case 常量值2: 代码块2: break; ... ... default: 语句n; }

while循环

语法结构 while(条件判断){循环体;} ,反复执行循环体,直到条件不成立为止

阶乘值

用于显示执行结果

 do/while循环

do{
循环体;
}while(expression);

从1到输入正整数值的累加和

定义值变事件的回调函数, 调用回调函数时会将当前元素对象充当参数传递给函数,则可以省略获取输入元素的过程
1=1

for循环

for(初始化语句; 条件判断语句; 步长处理){
循环体;
}

九九乘法口诀表


for/in循环

for in循环本质上是一种foreach结构,可以遍历数组中的所有元素或者遍历js对象的所有属性

break和continue

continue用于终止本次循环,接着开始下一次循环

break用于完全终止循环,开始执行循环后续的代码

简单应用

终止标签

outer: 语句标号
for(var i=0; i<5; i++){
for( var k=0; k<5; k++){
document.write('k的值为:'+k);
if(k>=2) break outer; //也允许continue outer;
document.write('i的值为:'+i);
document.write('
'); } }

函数

JavaScript是一种基于对象的脚本语言,代码复用的单位就是函数,函数可以独立存在,也可以当作一个 类使用,同时函数也是一个对象,是Function类的实例

函数定义

函数最大作用就是提供代码复用,将需要重复使用的代码定义为函数,提供方便的复用策略。

定义方法1:命名函数

function 函数名称(形式参数){代码块;}

调用方法 函数名称(实际参数)

定义方法2:匿名函数 function(形式参数) {代码块}

var f=function(name){document.write('hello '+name+’!‘);}

调用方法为 f('yanjun');

定义方法3:可以使用Function类定义匿名函数

基础语法 var f=new Function('name形式参数名称','document.writeln("定义的函数 体");document.writeln("hello "+name+"!");');

调用方法 f("yanjun")

相关内容

热门资讯

董明珠卸任格力电子元器件公司职... 松果财经讯,天眼查工商信息显示,近日,珠海格力电子元器件有限公司发生工商变更,董明珠卸任法定代表人、...
马斯克:自动驾驶、机器人、天基... IT之家 1 月 26 日消息,埃隆 · 马斯克阐述了他认为特斯拉和 SpaceX 终将远超竞争对手...
百秒拉抬股价,火速出货收割,私... 财联社1月26日讯(记者 封其娟)屡罚不改!因异常交易行为,这家私募已成监管“常客”。 北交所近日对...
黄金突破5000美元,历史首次... 来源:每日经济新闻 北京时间1月26日上午,最新行情显示,比特币跌至86434.5美元,过去24小时...
重磅!黄金突破5000美元 1月26日亚市盘, 国际现货和期货黄金价格均在盘中历史性突破5000美元/盎司整数关口,创下全球黄金...
三大“核反应堆”驱动中国经济破... 中国经济发展的三个“核反应堆”策略 ——等待2026年美国丧失加息能力,届时美元潮汐或终结...
小心日本黑天鹅再次突袭!日首相... 美国彭博社周一(1月26日)报道称,在日元走软和债券收益率飙升之际,日本首相高市早苗(Sanae T...
日立电梯总裁贾宇辉:电梯行业主... 来源:环球网 【环球网科技报道 记者 林梦雪】在城市化进程持续推进与产业结构深度调整的当下,电梯行...
今天刚刚∶中国经济第一大省,定... 中国经济第一大省,定了 国民经略 2026-01-26 11:03发布于广东 文|凯风 经济第一...
原创 美... 当地时间1月23日,美国财政部突然公布了新一轮对伊制裁清单,顿时激起了本就紧绷的中东局势。此次制裁清...
金铉集团深圳运营中心乔迁南山区... 1月20日,金铉集团在深圳南山区粤海街道举办了隆重的乔迁仪式,金铉集团CEO孙磊女士、南山政府领导代...
原创 中... 前言 1月19日深夜,中国外交部刚刚呼吁停止通过关税谋取私利,不到48小时,特朗普便宣布对法国红...
逾40家江苏企业上榜胡润猎豹企... 转自:扬子晚报 1月26日,《2025胡润未来独角兽:中国猎豹企业榜》发布,旨在寻找五年内最有可能达...
刚刚!苏州3D打印公司完成Pr... 聚复科技:加速冲刺3D打印材料“第一股”。 1月26日,据资源库了解,3D打印材料制造商苏州聚...
iPhone Air 惨败中国... 1 月 25 日,国行 iPhone Air 在多平台开启大降促销,涵盖苹果 Apple Store...
ETF盘中资讯|暴力反攻,回盛... 农牧渔板块今日(1月26日)强势上攻,全市场唯一农牧渔ETF(159275)开盘短暂于水面附近震荡后...
洋河股份去年净利润降六成至21... 挖贝网 1月26日消息,洋河股份(002304)近日发布2025年业绩预告,预计去年实现归母净利润2...
金价如期突破5000美元、年内... 黄金市场上周:国际黄金强势拉升近400美金收阳,几乎触及去年10月就已经给出的目标5000美元,目前...
低调投资“潜在独角兽”御风未来... 经济导报记者 王伟 企查查信息显示,山高(烟台)基华投资基金管理中心(有限合伙)(下称“山高(烟台)...
IPO动态丨本周美股预告:Et... 回顾:上周8只新股上市,其中6只为SAPC,如下: BitGo (BTGO)以每股18美元,发行了1...