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")

相关内容

热门资讯

消息称百度旗下昆仑芯瞄准500... 6 月 29 日消息,据《The Information》昨日援引知情人士消息,百度旗下 AI 芯片...
打造夏日消费新场景 第35届北... 北京商报讯(记者 翟枫瑞)6月29日消息,第35届北京国际燕京啤酒文化节新闻发布会在京举行。本届啤酒...
社保基金持仓数据出炉,一季度增... 最近各大上市公司一季度财报都公开了,咱们国家社保基金的持仓数据也全部曝光。目前社保拿着比亚迪价值44...
36氪首发 | 海思、中兴团队... 作者 | 乔钰杰 编辑 | 袁斯来 硬氪获悉,广州宸思通讯科技有限公司(以下简称“宸思科技”)近日完...
两天蒸发47亿市值!一纸税务通... 一纸税务通知书,能让一家百亿龙头两天蒸发47亿市值。 6月22日,北大荒(600598.SH)公告称...
SK海力士将投资1100万亿韩... SK集团会长崔泰源6月29日在韩国“三大重大计划”发布会上宣布,公司将投资1100万亿韩元扩大半导体...
两只A股,终止上市! 两家A股公司,即将摘牌。 6月29日,退市沪科(600608.SH)公告称,上海证券交易所将在202...
原创 M... 一家成立近十年的自动驾驶公司,在IPO时吸引了14家基石投资者认购近一半的发行股份,其中不乏奔驰、比...
基金忠言|国寿安保滤镜碎,三年... 图片来源:视觉中国 蓝鲸新闻6月29日讯(记者 祁和忠)保险系基金公司国寿安保总经理换人了。 6月2...
三星电机计划加码玻璃基板!相关... 6月29日,玻璃基板概念股午后有所回升, 华工科技(000988.SZ)逼近涨停, 彩虹股份(600...
拉萨海关持续壮大外贸经营主体 ...   新华网拉萨6月28日电(记者蒋梦辰)近日,记者从拉萨海关获悉,今年前5个月,西藏有进出口实绩的外...
机构:二季报临近,医药生物板块... 6月29日,华源证券发布了一篇医药生物行业的研究报告,报告指出,业绩期临近,产业链景气度有望再次迎来...
每日收评科创50放量涨超4.5... 财联社6月29日讯,三大指数全线收红,创业板指探底回升,科创50指数大涨4.61%。沪深两市成交额3...
6月多地土拍结构性升温:深圳单... 进入2026年6月,不少城市核心区地块集中诞生高溢价宗地,热度突出的城市包含深圳、杭州、长沙。 其中...
业绩炸裂!盛达资源半年预盈3.... 6月29日,贵金属矿山龙头盛达资源(000603.SZ)发布 2026 年半年度业绩预告,上半年业绩...
A股午后拉升三大股指收涨:半导... A股三大股指6月29日开盘涨跌互现。早盘沪强深弱,创指一度跌超2%。半导体午后拉升,带动两市上涨,沪...
原创 空... 前言 大家好,我是老金。 这几天,两幅极度割裂的画面放在一起,把我看笑了。 一边是在持续的热浪下,欧...
澳大利亚审慎监管局拟放宽银行风... 澳大利亚审慎监管局(APRA)6月29日就修改 银行信用风险资本设定公开征求意见,旨在加大信贷投放以...
全民炒股,急踩刹车!韩国股市突... 屈红燕/证券时报网 全民狂欢、交易高度拥挤、杠杆资金猛增、新入市投资者表现激进、大型IPO吸金等现象...