精选文章 JavaScript基础知识

JavaScript基础知识

作者:Ծ‸Ծ皢飝 时间: 2020-07-27 02:31:03
Ծ‸Ծ皢飝 2020-07-27 02:31:03

一、语法总结

    1.语法简介:js代码不能直接写,要用script标签包裹,js是一种弱变量的脚本语言,有严格的要求和限制,任何变量都用var声明,不同类型的变量可以使用一个var来声明。

     2.引用外部 js文件

                      注:如果script标签引用了外部js,那么就不要在script标签里面再写js脚本,这样里面的脚本不会再执行。

     3.js的基本数据类型

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

                   2.Boolean:表示已经声明但为赋值的变量类型

                   4.string:表示 或者 包裹字符串的集合

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

     4.js的基本类型转换

                   1.强制类型转换

                           3个转换函数

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

                                 2.Boolean(value):把参数转换为Boolean类型,当value其值0,-1,null,-,false,undefined 或                                        NaN 时,那么Boolean():转换称Boolean类型的值为false。

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

                                 2.隐式类型转换

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

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

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

                                 3.转换函数

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

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

 

    5弹出框:

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

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

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

                    返回值是用户输入的值

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

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

 

   6运算符:

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

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

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

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

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

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

 

     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

 

    8 字符数:

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

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

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

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

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

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

        4.  toLocaleUpperCase:将字符串全转换为大写字母

         5.  toLocaleLowerCase:将字符串全转换为小写字母

         6.  split:将字符串转换为数组

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

         8.  字符串解码decodeURIComponent():对已编码的字符串进行解码

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

 二、js的数组创建方式:

                1.      使用字面量: [a,b,b],元素的类型可以随意写,可以是不同类型
                        举例:var arr1=[1,"a",true,undefined];

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

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

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

   1.数组的方法

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

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

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

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

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

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

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

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

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

 

 三、函数:

                  函数:重复执行的代码块,相当于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中的变量只b                有函数作用域(全局作用域或者局部作用域),没有块级作用域.

       

四、定时器:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

                 clearTimeOut()结束炸弹定时器

 

                              

勿删,copyright占位
分享文章到微博
分享文章到朋友圈

上一篇:springboot配置文件参数映射到具体类

下一篇:angular--服务初识,数据持久化todolist

您可能感兴趣

  • 机器如何实现完全自主类人的学习方式?道翰天琼认知智能机器人API平台接口为您揭秘。

    机器如何实现完全自主类人的学习方式?道翰天琼认知智能机器人API平台接口为您揭秘。 本文作者来自东北大学,他通过整理自监督学习的一系列工作,把主流方法分成三大类,方便大家更全面的了解自监督学习的定义、方法、用途。与此同时,文中也穿插着几大主流方法的最新工作进展,现在正在探索自监督学习未来前景研究方向的同学,也不妨借鉴一二,说不定能找到灵感哦~ 1 学习的范式 我们首先来回顾下机器学习中两种基...

  • 深度学习到底有哪些经典成果?道翰天琼认知智能机器人API平台接口为您揭秘。

    深度学习到底有哪些经典成果?道翰天琼认知智能机器人API平台接口为您揭秘。 2006年,Hinton 发表了一篇论文《A Fast Learning Algorithm for Deep Belief Nets》,提出了降维和逐层预训练方法,该方法可成功运用于训练多层神经网络,使深度网络的实用化成为可能。该论文也被视作深度学习领域的经典之作。 从原理来看,深度学习与神经网络紧密相关:神经网络...

  • 等保测评--管理人员安全测评

    信息安全等级保护,是对信息和信息载体按照重要性等级分级别进行保护的一种工作,在中国、美国等很多国家都存在的一种信息安全领域的工作。在中国,信息安全等级保护广义上为涉及到该工作的标准、产品、系统、信息等均依据等级保护思想的安全工作;狭义上一般指信息系统安全等级保护。 安全管理人员(HRS) 人员录用 L3-HRS1-01 L3-HRS1-02 L3-HRS1-03 人员离岗 L3-HRS1-0...

  • Java异常面试题(2020最新版)

    文章目录 Java异常架构与异常关键字 Java异常简介 Java异常架构 1. Throwable 2. Error(错误) 3. Exception(异常) 运行时异常 编译时异常 4. 受检异常与非受检异常 受检异常 非受检异常 Java异常关键字 Java异常处理 声明异常 抛出异常 捕获异常 如何选择异常类型 常见异常处理方式 直接抛出异常 封装异常再抛出 捕获异常 自定义异常 t...

  • 学习Java开发的人有哪些,Java适合哪类人群学习?

    现在的培训Java怎么样,学习Java开发的人有哪些,Java适合哪类人群学习?提到Java这个名词时,大多数人脑袋中都会浮现出三个字:“程序猿”,从事互联网行业的人群则会浮现出“码农”的字眼。只要是接触过计算机,就不会对这个名词感到陌生,或多或少都有些听闻。不少朋友也对Java挺感兴趣,但都觉得Java需要涉及的知识会非常广,会非常难学,应该只有计算机专业的人才能学得会吧,以自己半路出家的...

  • 图森未来如何借助云缩短60%模型训练时间

    简介: 阿里云飞天AI加速器+Serverless容器,帮助图森未来提升资源利用率。 图森未来(TuSimple)成立于2015年,是一家专注于L4级无人驾驶卡车技术研发与应用的人工智能企业,已经实现卡车在干线物流场景和半封闭枢纽场景下的无人干预驾驶。图森未来品牌旗下产品——图森未来 L4 级别无人驾驶卡车能够实现环境感知、定位导航、决策控制等自动驾驶核心功能,可应用于高速公路货运和港内集装...

  • java基础学习笔记(七)-反射--注解

    反射机制介绍 _Class 对象获取 反射机制是 Java 的动态性之一 动态语言 : 在程序运行时,可以改变程序的结构或变量的类型。 典型的动态语言 ”Python 、 ruby 、 JavaScripC,C++, Java 不是动态语言,但具有一定的动态性,可以称为” 准动态语言 ”, 具备类似动态语言的特性。传一块代码来动态的执行,动态的处理,Java 也能做,可以利用反射来实现类似的...

  • 安卓Jar和Aar的区别以及更新UI的几种方式

    Jar包里面只有代码,Aar包里面不止有代码,还有资源,如图片,XML等。对于一些不常变动的Android库文件,建议直接引入AAR,加快编译速度。 2.安卓几种更新UI的方式 1.Activity.runOnUiThread(Runnable); 2.View.post(Runnable),View.postDelay(Runnable,long)(可以理解为在当前视图UI线程添加队列) ...

华为云40多款云服务产品0元试用活动

免费套餐,马上领取!
CSDN

CSDN

中国开发者社区CSDN (Chinese Software Developer Network) 创立于1999年,致力为中国开发者提供知识传播、在线学习、职业发展等全生命周期服务。
文中提到的产品 (

0

)