JS(2.10)

(以为疫情在线上上课的第一天。。。体验有点 差)

Jsp:高版本的浏览器提供了两种方式调式jsp

1,控制台输出,console(“调试信息”),建议使用chrome或firefox调试,F12为开发 人员选项

2,断点跟踪模式,debugger F10,F1可以控制程序执行,watch下可以检测变量

一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一

jsp的三种引入方式(如果引入方式错误,浏览器会将javascript程序视作html程序执行)

1,内嵌方式引入

script标签的可选属性:
type:声明脚本的语言类型。所有浏览器默认都是Javascript(可以缺省)
charset:声明脚本的编码类型,很多浏览器都忽略此属性,而使用meta标签定义的编码类型解析js代码。(不建议使用此属性)

2,外部文件方式引入

script标签的可选属性 :
src:js的路径,可以使用相对路径或网络路径。
type:声明脚本的语言类型。所有浏览器默认都是javascript(可以缺省)。
(前两个,是建立在css执行成功的基础上)
defer:js程序文件呗预加载后等到浏览器加载完全部html与css后执行js文件。

3,事件方式引入

按钮(不推荐)

一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一

javascript是由如下几部分组成:

标识符:用户自定义的变量名、函数名等。

关键字:javascript的内置单词,代表特殊含义。

操作符:+ - * %等 注释:通过添加注释来对JavaScript进行解释。

转义字符:用一些普通字符的组合来代替一些特殊字符。

内置函数:浏览器供应商提供的函数,如日期显示等等。

特殊符号:行代码分隔符;代码块符号{}等。

一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一

关键字与保留字

关键字:目前在JavaScript语言中已经具有语法含义的英文词语,每个关键字都具有不同的使用场景和规则,在定义标识符是要避免使用关键字和保留字。
保留字:预计未来拓展JavaScript功能时会拓展的关键字。
JavaScript关键字 :Break case catch continue defaultDelete do else finally forFunction if in instanceof newReturn switch this throw tryTypeof var void while with
JavaScript保留字: Abstract boolean byte char classConst debugger double enum exportExtends final float goto implementsImport int interface long nativePackage private protected public shortStatic super synchronized throws transientVolatile

一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一

·变量的概念:变量时存储以及访问临时信息的容器。

1,声明一个变量包含如下三个组成

Var a = 11;

分别为: 修饰符 标识符 某数据类型的取值。

Js中使用var作为变量的修饰符,js时弱类型的语言
标识符就是函数、变量的名字,有开发者自己声明
Js中也具备基础数据类型与封装(对象)数据类型

2,变量的重名规则:程序中要保证定义的多个变量不重名,如果重名并不像其他高级语言那样无法通过编译,而是采用如下规则·如果两侧变量的声明都对应赋值表达式,则后执行的变量会覆盖先执行的变量。·如果第一次变量的声明对应复制表达式,第二次变量声明不对应复制表达式,则第二次变量声明无效。

3,声明变量的注意事项:

·变量必须以字母开头
·变量也能以$和_符号开头(不推荐)
·变量名称对大小写敏感(y和Y时不同的变量)

一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一

数据类型的检测方式(重点!!!!)

1,typeof:获取目标变量的数据类型,以字符串形式返回,typeof时系统内置函数。 Console.log(typeof(a))

2,当参数为基础类型时返回number/string等。

3,当参数为对象类型时返回object。

Js中如果重名会后来居上,先把载入的函数覆盖掉,在以后开发中,如果资源包明确声明,要在哪个资源之后加载,一定要严格执行,否则会被覆盖掉数据。

一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一

函数重载思路:(重点!!!!!)

1,重载实现,用实参判断undefined决定执行分支

2,获取当前函数的args.length走条件分支

3,基于2之上在判断每个参数的数据类型typeof 会产生更多分支

一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一

undefined类型:时变量的默认赋值,代表未定义值 (重点!!!)

Var x;Alert(x)//此处的运行结果为undefined

一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一

null类型:代表当前的变量为空,声明变量后不需要赋值的场景 (重点!!!)

Var x=null;

一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一

undefined与null的区别: (重点!!!)

·null代表暂时没有赋值,undefined值未定义。

·null分配内存空间,undefined不分配内存空间。

·null可以参与运算,undefined无法参与运算。

一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一

number类型

1,类型转换 Parseint(‘字符’);//将目标字符转换为数字,小数部分舍掉

例:Parseint(数值,16);//将10进制转为16进制

Parsefloat(‘字符’);//将目标字符转换为浮点·number类型其他取值

2,NaN:非数字。当执行parseInt无有效数字时返回。

3,infinity:无穷。当超过浮点类型最大范围时取值。

一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一

对象类型:本质上是一组无序的名值对(名可以视作变量名,值为基础类型或其他封装类型)。

1,对象类型声明{bb=11,cc=22};

2,对象类型又可以分作:

系统内置类型:如数组、日期类型。 ·
用户自定义对象类型:开发者自定义的对象

一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一

运算符的优先顺序

运算符 描述

. 字段访问、数组下标、函数调用以及表达式分组

++ – - ~ ! delete new typeof void 一元运算符、返回数据类型、对象创建、未定义值

*/% 乘法、除法、取模

+ - + 加法、减法、字符串连接

<< >> >>> 移位

< <= > >= instanceof 小于、小于等于、大于、大于等于、instanceof

双等号 != 三个等号 !双等号 等于、不等于、严格相等、非严格相等

& 按位与

^ 按位异或

| 按位或

&& 逻辑与

|| 逻辑或

?: 条件(三目运算符)

= oP= 赋值、运算赋值

, 多重求值

有相同优先级的运算符按从左至右的顺序求值,但注意,这些顺序b不需要特殊记忆,编程时对于优先级别不确定,用()来调节

一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一

定义函数的其他方式

1,普通函数方式:function functionName(parameter){} (淘汰)

2,匿名函数: window.οnlοad=function(parameter){}

3,函数表达式: var f =function(parameter){}

4,function对象 var b =new Function(‘a’,’b’,’return a+b’); (错!不用了)

5,内部函数 function dd(){function mm(){}}

**********!!!!function 嵌套函数 this会指向window,两种解决。一是用6版本中的箭头函数,二是将变量缓存下来。在传参过去。

一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一

for 有三种

for(;;)

for(in) //index

for (of)

在循环中一定注意以下细节。

避免出现死循环:由于程序编写错误,导致程序执行过程中无法跳出循环,从而不断执行循环体内程序。

循环中可以嵌套多层循环,因此在代码编写中注意用于循环的变量是否重名,如果重名也会导致死循环的出现。

在循环表达式中或{}中定义的变量,在{}外可以访问。

一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一

函数命名规则:

1,符合javascript标识符的命名规则。

2,首字母小写,多个单词组合时除首单词外,其余单词的首字母大写。

3,可以巧妙的使用缩写,例如rowNum表示行数。

一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一

重名规则 如果在一个网页中出现多个同名函数(不区分参数),则最后定义的函数将覆盖之前的函数。

一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一

js的预编译:也可以称为预处理,在程序执行前,有js引擎加载程序块,主要作用如下:

1,文档加载前加载全局对象

2,检查明显的语法错误。

3,初始化程序块变量。

一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一

加载全局对象

全局对象(内置对象,宿主对象)

初始化程序块变量基本规则2

1,全局属性、函数都会封装在window对象中,从此作为全局执行环境的一部分。

不包含在函数内的属性成为全局属性,Window对象只有在网页关闭时内存才被回收,因此全局属性使用要谨慎。

初始化程序块变量基本规则3

全局变量在预编译阶段的值为undefined。
console.log(b);//无法执行
vara=10;

初始化程序块变量基本规则4

全局非匿名函数在预编译阶段被实例化为function对象。

Fun();

Function fun(){}Fun1();//报错,因为此时fun1为undefined

Var fun1 =function(){}

预编译阶段函数已经入内存,所以在当前script标签内任何位置都可以调用。使用函数表达式方式创建的函数,预编译阶段加载为undefined。

一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一

分类

在这里插入图片描述

一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一

URI与URL

URI:(universal resource identifier:统一的资源标识),它是以某种统一的(标准化的)方式标识资源的字符格式。资源可以是HTML文档、图像、视频片段、程序等。

URL(Uniform Resource Locator:统一资源定位器)通俗说,URL是Internet上用来描述信息资源详细位置的字符串。URL需要明确资源所在的位置、资源名称。

URL是YRI的一种,是更具体的资源路径。

一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一

substring、sunstr、slice区别

substr:第二个参数为长度

substring:会判断开始和结束的索引号大小,按照从小到大截取。

slice:不判断大小,但可以为负数,负数为从右到左截取。

一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一

数组:一组相同或不同数据类型数据的容器,(Java中必须是相同数据类型)

js数组与其他语言(例如java)的数组的区别 :

js数组对象是由js编写的本地对象

js数组的长度可变化。

js数组存储的数据可以为不同数据类型。

一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一

js数组与其他语言(例如java)的数组的相同点:

·功能相同,都是存储介质。

·操作相同,都是需要循环遍历数组的内容,同时都提供了修改数组数据的方式。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值