加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

JS基础总结

发布时间:2020-12-14 06:33:36 所属栏目:Java 来源:网络整理
导读:JS细化知识点总结 1.???? EcmaSctipt 语法 ???? ?1.1 语法简介: js代码不能直接写,需要用script标签来包裹 ?????? ?? ????????????js是一种弱类型的脚本语言,即语法没有严格的要求和限制,任何类型的变量都是用var来声明,不同类型的变量可以用一个var来

JS细化知识点总结

1.???? EcmaSctipt语法

???? ?1.1语法简介:js代码不能直接写,需要用script标签来包裹

?????? ?? ????????????js是一种弱类型的脚本语言,即语法没有严格的要求和限制,任何类型的变量都是用var来声明,不同类型的变量可以用一个var来声明。

??????

????? 1.2引用外部js文件

????????????? 注意:如果script标签引用了外部js,那么就不要在script标签里面书写js脚本,因为里面的js脚本是不会执行的

????? 1.3 js的基本数据类型:

???????? 1.number:包含整型,浮点型,NaN,Infinity

????????????? ?2. boolean:包含true,false两个值

????????????? ?3.undefined:表示已声明但未赋值的变量的类型

?????? ???? 4.string: 表示''或者""包裹的字符的集合

????????????? ?5.null:空值,如果一个变量值为null,它是空对象,null值本身的类型又是object

??????

????? 1.4 js的基本类型转换:

??????? ?1.强制类型转换

???????????????????? ? 3个转换函数

???????????????????? ??? 1)Number():把参数转换为数字,如果参数的某一部分不是数字,就转换失败,返回NaN

???????????????????? ??? 2)Boolean(value):把参数转换为boolean类型,

???????????????????? ???? 当value其值为 0、-0、null、""、false、undefined 或 NaN 时,

???????????????????? ???? 那么Boolean()转换成Boolean类型的值为 false。

???????????????????? ??? 3)String(value):把参数转换为字符串

?

?????? ???? 2.隐式类型转换

???????????????????? ??? 当两种不同数据类型的变量进行+连接的时候,浏览器的js引擎如何解释它?

???????????????????? ??? 浏览器的js引擎会隐式的调用强制转换函数,将其中的一个值转换为另一个值的类型

???????????????????? ??? 如果是String类型连接另一个类型,那么默认String类型优先,即另一个类会转换为String类型

?????? ????????????? ?

????????????? ?3.转换函数

???????????????????? ?? ?parseInt():将参数转换为一个整数,只转换参数中的数字部分,非数字部分忽略,如果参数都不是数字那么返回NaN

???????????????????? ?? ?parseFloat():将参数转换为一个浮点数,只转换参数中的数字部分

???????????????????? ????

???? 1.5弹出框:

????????????? ? 1.alert()普通的弹出框,纯提示作用

????????????? ??2.prompt():弹出一个带有输入框的弹出框,可以让用户输入信息

????????????? ??? 参数1:对话框上的提示文本?? 参数2:输入框里的默认value

????????????? ??? 返回值是用户输入的值

????????????? ??3.cofirm():弹出一个带有确定和取消按钮的弹出框,用于提示用户是否要进行某个操作

????????????? ??? 返回值是true或false,如果用户点击了确定按钮,就返回true,否则返回false

????????????? ?

???? 1.6运算符:

===:全等于,比较的两个操作数的数据类型和值都相同时,才返回true,否则返回false

????????????? ??? ==:等于,只 比较内容(值),不比较类型,只要内容相同,就返回true

????????????? ?? ?||:或,如果两个操作数都是boolean,如果第一个参数为true,则直接返回第一个数.

????????????? ???? 如果第一个参数为false,则直接返回第2个数;

????????????? ???? 如果两个操作数都不是boolean,此时js引擎会将第1个参数隐式转换为boolean类型返回true或false,

????????????? ???? 如果第1个数转换后结果是true,就直接返回第1个数;如果第1个数转换后是false,就返回第2个数

????????????? ????

???? 1.7 Switch选择结构:

???????? JS中的switch结构满足java中的switch语法

????????????? ?swtich(表达式){

????????????? ????? ? case? 常量(整数,字符串):

????????????? ????? ???? 语句1

????????????? ????? ???? break;

????????????? ????? ? case? 常量(整数,字符串):

????????????? ????? ???? 语句1

????????????? ????? ???? break;

????????????? ????? ?? default:

????????????? ????? ???? 不满足以上条件就执行默认语句

????????????? ????? ???? break;

????????????? ?}

????????????? ?js中的switch结构和java不同的地方是:??? 支持在case后面接上一个表达式,语法:

????????????? ?? switch(true){

????????????? ?? ? ??case 表达式1:

????????????? ?? ? ?????语句1

????????????? ?? ? ?????break;

????????????? ?? ? ??case 表达式2:

????????????? ?? ? ?????语句2

????????????? ?? ? ?????break;

????????????? ?? ? ?????...

????????????? ?? }

????????????? ?? 以上语法相当于多重if判断结构 if..elseif...elseif...else

??? 1.8 字符数:

1.8.1 js中创建字符串的2种方式

???????????????????? ?1.用字面量创建,即'xxx'或"xxx"?? var s1='hello';

???????????????????? ?2.用new String('xxx')创建

???????????????????? 常用属性:length:获取字符串的长度?? var s2=new String("world");

1.8.2???????? subStr字符串截取:参数1是从哪里开始截取,参数2是截取的长度

1.8.3???????? slice截取:参数1是从哪里开始截取,参数2是截取的结束位置(不包含结束位置)

1.8.4???????? toLocaleUpperCase:将字符串全转换为大写字母

1.8.5???????? toLocaleLowerCase:将字符串全转换为小写字母

1.8.6???????? split:将字符串转换为数组

1.8.7???????? 字符串编码encodeURIComponent():会对网址路径中的中文字符及:,/进行编码,都转换为数字字母%的形式

1.8.8???????? 字符串解码decodeURIComponent():对已编码的字符串进行解码

1.8.9???????? 转义字符:在一对双引号后使用双引号,则里面的双引号必须写成对应的转义字符"

1.9 数组:

?? ?1.9.1 js的数组创建方式:

  1. 1.????? 使用字面量: [a,b,b],元素的类型可以随意写,可以是不同类型

举例:var arr1=[1,"a",true,undefined];

????????????? ??2.使用构造函数new Array(a,c)创建数组

?????? ???????? 举例:var arr2=new Array("a",1,true);

?? ???????注意:js中的数组大写是可以被修改的,当索引越界后,数组会自动的变大,访问下标越界的元素,返回undefined

?? 1.9.2数组的方法

???????????????????? ?1.添加元素push():将1个或多个元素添加到数组的末尾,返回数组数组的新长度

???????????????????? ?2.添加元素unshift():将1个或多个元素添加到数组的开头,返回数组数组的新长度

???????????????????? ?3.删除元素pop():删除最后一个元素,返回被删除的元素的值

???????????????????? ?4.删除元素shift():删除第一个元素,返回被删除的元素的值

???????????????????? ?5.添加或删除元素splice(),参数如下:

???????????????????? ?? start:【必须】整数,规定添加/删除项目的位置(包含),如果使用负数可从数组结尾处规定位置

????????????? ?deleteCount:【必须】要删除的项目数量。如果设置为 0,则不会删除项目。

????????????? ?items:【可选】向数组添加的新项目,可以为一个元素也可以为多个元素。

???????????????????? ?6.join():将数组转换为字符串,和字符串的split()是相反的

2.0 函数:

???? 函数:重复执行的代码块,相当于java中的方法

????????????? 1.函数定义:function? 函数名(参数1,参数2...参数n){

???????????????????? ?????? 函数体

???????????????????? ????? ?[return value];

????????????? ?????? }

????????????? 与java的方法不同的地方:1.js的函数不需要指定返回类型,也不需要写形参的类型,只需要形参名字

?????? ?????? 2.调用函数时,实参的个数可以和形参不一致

????????????? 函数调用:函数名(实参1,实参2..实参n)

????? ??3. 匿名函数:没有名字的函数

????????????? ?? 函数表达式:把匿名函数赋给一个变量,此时变量就是函数表达式

????????????? ?? 可以函数表达式来调用匿名函数

????????????? 4.arguments:它用在函数体内,是封装所有实参所构成的数组

??????? 5. 局部变量:函数内用var声明的变量,在函数外不能访问

??? ????6.全局变量:在函数外用var声明的变量,或者是函数内没有用var声明的变量都叫全局变量

?? ?????注意:所有的全局变量都是属于window对象,所有当窗口关闭时,全局变量才销毁,一般不需要用window.,js中的变量只有函数作用域(全局作用域或者局部作用域),没有块级作用域.

???????

2.1 定时器:

?? ??2.1.1循环定时器:setInterval(),周期性执行指定的函数或js代码

????????????? ? 参数1:要调用的函数或代码串

????????????? ? 参数2:周期性执行的时间间隔,单位是毫秒,每隔多少毫秒就执行一次函数或代码

????????????? ?重复调用某个函数,2种调用语法:

????????????? ?语法1:setInterval(函数名,时间间隔);只适合调用无参的函数

????????????? ?语法2:setInterval("函数名()",时间间隔);可以调用无参函数或者有参的函数

??? ?2.1.2 炸弹定时器:setTimeOut(),到达指定时间后执行指定的函数或js代码一次

????????????? ? 参数1:要调用的函数或代码串

????????????? ? 参数2:执行的时间间隔,单位是毫秒,每隔多少毫秒就执行一次函数或代码

????????????? ?调用某个函数一次,2种调用语法:

????????????? ?语法1:setTimeOut(函数名,时间间隔);只适合调用无参的函数

????????????? ?语法2:setTimeOut("函数名()",时间间隔);可以调用无参函数或者有参的函数

???? 2.1.3 清除定时器:有时候需要在某个时刻停止定时器的反复执行,如何结束?

????????????? ?? 1.给定时器函数加1个返回值,该返回值就是定时器的唯一标识

????????????? ?? 2.在需要结束定时器的时候,调用clearInterval(定时器的唯一标识)来结束循环定时器,

????????????? ? ?clearTimeOut()结束炸弹定时器

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读