js基础总结

脚本标签 script

 创建的公司 美国的网景公司Netscape  创建人 布兰登.艾克

一开始叫livescript 后来改成javascript 为了营销与sun公司合作

javascript 与java的区别

       script是运行在客户端的语言

       java是运行在服务端的语言

javascript是什么

 是一门脚本语言.编程语言 解释性语言 动态类语言 基于对象的语言

        编程语言 计算机能够接受和处理的能够的,具有一定语法规范的语言

        脚本语言 直接解释执行 缩短了编写编译连接和运行过程而创建的计算机编程语言

         解释性语言 解释执行不需要编译过程,直接由解释器(js引擎)解释并执行代码

         动态类语言 静态类语言在编译是就已确定编译的类型 动态类型语言的变量类型要到程序运行的时候,

         带变量被赋予某个值后 才会具有某种类型

         基于对象的语言 不是面向对象的,只是具有某些变相对象的特征

javascript的组成部分

          ECMAscript 简称Es  规定了语法规则  比如 变量 数据类型 运算 流程控制 函数 对象等等

          DOM document object model 文档对象模型

          BOM browser object model 浏览器对象模型

能做什么

          1.网页的动画效果

          2.网页的交互

          3.uniapp 与手机硬件功能调用

          4.开发桌面应用

          5.node, 运行在服务端的js

变量    计算机内存储的表示符

  获取数据, 存储数据,改变数据

1.声明变量  var 变量名

                2.声明变量并赋值

                3.声明多个变量

                4.声明多个变量并赋值

                5.不用var定义变量

字面量 代表一个具体的值

变量的命名规范

 1.必须有字母数字下划线$符号组成 开头不能是数字

   2. 不能是关键是和保留符

   3.区分大小写

   二.规范

    1.驼峰命名法  第一个首字母大写

    2.见明知义

写法

内部书写:直接在script中书写

      外部书写   外部的js文件中书写

       行内属性 在标签中书写js

数据类型

  数据类型

    数字类型:number 字符串类型:string 布型n尔类型boolean 空ull 未定义undefined  唯一值symbol

    引用类型   数组 函数 对象 set map

数字类型number

  判断一个变量的数据类型 typeof 变量名

1.数值

      十进制 科学技术法

    尽量不要用浮点型 因为显示的是浮点型的近似值

     最大值Number.MAX_VALUE

     最小值Number.MIN_VALUE

      正无穷 Infinity

    八进制   0~7    0

    十六进制  0~9 a~f   0x

非数值NAN 与任何值都不相等包括他本身

 isNAN() 判断一个变量或者值是否为非数值,如果是true 如果不是false

字符串

 1.  只要是单引号或者是双引号包起来的

    2.字符串中单个的字符或者连续的字符

    3. 字符串的长度 字符中单个字符的长度  length  字符串名.length

    4.空字符串  字符串中长度为0

    5. 字符串的拼接 +

      如果加号两边有一个是字符串那就是字符串的拼接

      如果加号两边都是数字 那就是数字的加法运算

布尔类型     true false

空型  null   未定义undefined   

变量值声明 不赋值  未定义

    变量不声明报错

数据类型转化

     其他类型转换为字符串类型

    数字 布尔  通过变量名.toString()

    空型 未定义      String(变量名/值)

转为布尔

Boolean(0.2)

结果为false的情况    false/0/空字符串/NaN/null/undefined  其余为true

转化为数字

 Number()

    parseInt() 遇到非数值或者第一个小数点结束

    parseFloat()遇到非数值或者第二个小数点结束

 1.undefined转为数字   都是NaN

    2.null转换为数字      Number()0

    parseInt()NaN

    parseFloat()NaN

    3.布尔转为数字 Number() true是1 false0

    parseInt()NaN

    parseFloat()NaN

    4.字符串转为数字   umber()

    如果字符串中值包含数字 将其转化为十进制数值,忽略前导0

    如果字符串中包含有效浮点格式1.1 将其转换为对应的浮点数字 忽略前导0

    如果字符串中包含有效的十六进制格式 如0xf 将其转换为相同大小的十进制数值

    如果字符串为空,展缓为0

    如果字符串包含上述格式之外的字符,惊奇转化为NaN

运算

算数运算 + - * / %

       一元运算  前置++  先加一在给变量赋值  后置++ 先给变量赋值在加一  前置--  后置--

       逻辑运算  && 两个同时为true 结果为true 否则为false

        ||有一个为true 结果为true 否则为false

        !取反  当一元运算符使用

       比较运算

       > < >=  <= == === != !==      == 相等值比较数值是否相等  ===比较数值还要比较数据类型

       赋值运算 += -= *=  /=  %=

       优先级

       括号>点数运算> 一元运算>算数运算>比较运算>逻辑运算>赋值运算

补充   todixed(n) 保留n为小数结果取余

流程控制    顺序结构:程序从上往下执行  条件结构 根据不同情况执行相应的代码

if(条件判断语句){

    满足条件语句执行的代码

    }else{

        不满足

    }

三目运算符(三元运算符)是if……else的简化版

     表达式1 ? 满足表达式2 : 不满足表达式3

    switch (判断的变量) {

        case 可能的值:

          执行语句

          break;

         case 可能的值:

          执行语句

          break;

        default

          执行语句

      }

while(循环的判断条件){

      循环体

      自增或者自减语句

    }

do {

        循环体

        自增自减语句

    }while(循环条件判断)

 for (初始表达式;判断表达式;自增or自减表达式){

      循环体

    }

continue与break的区别:

          break:立即跳出整个循环,即循环结束,开始执行循环后面的内容(直接跳到大括号)

          continue:立即跳出当前循环,继续下一次循环(跳到i++的地方)

数组

为什么用数组

存储数据更加方便 为了节省空间

数组的概念 :将多个元素(通常是同一类型)按一定顺序排列放到一个集合中,那么这个集合我们就称之为数组

 元素:数组中单个值

              顺序:数组是有序的

              集合:数组当做集合

  三、创建数组的方式:

          1、字面量创建数组

          2、构造函数创建数组

数组中的元素可以是任何数据类型,元素之间用逗号隔开       数组是引用数据类型

获取元素

          索引:又称之为数组的小标,是元素的唯一的标识符,从0开始依次累加

          数组名[索引值]

          任何一个数组arr的第一个元素是arr[0],最后一个元素是arr[arr.length-1]

元素的添加与删除

        1、栈操作

            添加元素 push()  删除元素 pop()  仅在表尾进行插入和删除操作的线性表。这一端被称为栈顶

            先进后出  数组名.push() 数组名.pop()

 八、遍历数组:将数组中的所有元素访问一遍

   

    for(var i = 0; i< p1.length; i++ ){

        console.log(p1[i])//数组名[]

    }

函数  

为什么使用函数:为了减少代码的冗余量、提高开发效率

函数的概念:将具体特定功能的代码封装在一起,形成函数

定义函数的方式:

            1、函数的声明  function 函数名(){函数体}

            2、函数表达式  var 函数名()=function{函数体}

            3、构造函数

  四、函数的命名规范==变量的命名规范

      五、函数的调用:就是执行函数体中内容    

   六、参数

        实际参数:函数调用时小括号中的变量或者具体值  

        形式参数:函数定义时小括号中的变量    

函数是引用数据类型

             数组 ---object

            null--->object

            函数---->function

            对象----->object

函数的返回值

  函数的返回值:函数调用的结果就是函数的返回值

1.如果函数中没有使用return语句,那么它的返回值就是undefined

      2.如果使用了return语句且在return的后面 就成了函数的返回值

      3.如果使用了return且return后没有任何值 那么它的返回值也是unidfined

      4.函数执行完return后 将会退出不在执行后面的代码

函数的进阶

如果两个函数都是函数的声明,且函数名相同,那么后边的函数会覆盖前边的

如果两个函数都是函数表达式,且函数名相同,函数的调用会调用最近的一个

如果两个函数分别是函数表达式和函数声明,且函数名相同,函数表达式会覆盖函数声明

函数的内置对象:任何一个函数都有一个内置对象arguments,它本身是个数组

length:实参的个数

        callee.length:形参的个数

        callee.name:函数名

// 五、匿名函数      一般用于回调函数

     func_1(

      10,

      20

    )  ;(function () {

      console.log('我是匿名函数!')

    })()

    // 匿名函数的自调用

    var func_2 = (function (x) {

      console.log(x)

    })(10.23)

    // 六、函数作为参数传入

    function funct_1(x) {

      console.log(x)

      x()

    }

    funct_1(function () {

      console.log('我是函数也是参数')

    })

    // 七、函数作为参数返回

    function funct_2(y) {

      return y

    }

    var result = funct_2(function () {

      console.log('我是函数也是参数进行返回值返回')

    })

    console.log(result)

    result()

 

  

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值