超简单的js入门知识(一)老人小孩都爱看

79 阅读5分钟

js的组成

  • JavaScript 是由 ECMAScript,DOM 和 BOM 三者组成的。

    1. ECMAScript: 定义了JavaScript 的语法规范,描述了语言的基本语法和数据类型

    2. DOM (Document Object Model): 文档对象模型

        * 有一套成熟的可以操作 ==页面元素的 API==,通过 DOM 可以操作页面中的元素。比如: 增加个 div,减少个 div,给 div 换个位置等

            * API:

                * application programming interface 的简写;

                * 翻译:应用程序编程接口;大白话:别人写好的代码,或者编译好的程序,提供给你使用,就叫作api

    3. BOM (Browser Object Model): 浏览器对象模型

        * 有一套成熟的可以操作 ==浏览器的 API==,通过 BOM 可以操作浏览器。比如: 弹出框、浏览器跳转、获取分辨率等

js的三种书写方式

  • 行内式
<input type="button" value="行内式"  onclick="alert('行内式')">
  • 内嵌式
<body>
    <script>
        alert('hello')
    </script>
</body>
  • 外链式
<script src="main.js"></script>

变量

变量是用于存储信息的"容器"

js 定义变量

var 空格 变量名 var 与 变量名之间一定要有空格

变量名命名规则

通常是由字母、数字、下划线组成

    1. 变量必须以字母开头
    1. 变量也能以 $ 和 _ 符号开头(不过我们不推荐这么做)
    1. 变量名称对大小写敏感(a 和 A 是不同的变量)
    1. 不能是关键字和保留字
      • 关键字指的是js中有特殊功能的小词语,比如var、for等
      • 保留字指的是现在没有特殊功能,但是将来新语法中有可能作为关键字使用
var a ;
var b ;
var c ;

变量的赋值

  • 变量定义后初始时没有赋值,那么内部会有一个默认的值undefined(用来表示未定义,但可以使用了)
  • 变量的赋值方式 变量名 = 要赋予的值 (一个 = 在js中表示赋值 == 才相当于 等号)
//1. 先定义后赋值
var a
a = 10
//2. 定义并赋值
var b = 20

js 数据类型

  • 数据类型分类(简单数据类型为主)
    • Number 数字类型
      • 不区分整型、浮点型、特殊值
    • String字符串类型
      • 所有的字符串(单引号,或双引号内表示字符串英文符号)
      'abc'  
      "123"
      
    • undefined 类型 undefined
      • undefined 自己就是一种类型 变量未赋值时默认undefined
    • Boolean 布尔类型
      • 只有 true 和 false 必须是小写
      • 计算机内部存储 true 为 0,false 为 1
    • null null 类型
      • null 空对象指针

数据类型检测

  • 使用 typeof 的方法进行数据检测
    • 检测方式:在 typeof 后面加小括号执行,将要检测的数据放在小括号内部
    var a = 100 //number整型
    var b = '123abc'
    // typeof 查看变量类型
    console.log(typeof a)//number
    console.log(typeof (b))//string

数据类型转换(转数值 / 转字符串 / 转布尔)

转数值

  1. Number(数据)方法

    • 转型函数Number()可以用于任何数据类型,将其他数据类型转为数字
    • 字符串:纯数字字符串转为对应数字,空字符串和空白字符串转为0,非空非纯数字字符串转为NaN
    • 布尔值:true转为1,false转为0
    • undefined:转为NaN
    • null:转为0
    //Number 转换
    
           //纯数字转换成对应数字
    
           var a = '100'
    
           console.log(typeof a + a + '转换前')
    
           console.log(typeof Number(a) + Number(a) + '转换后')
    
           //布尔值:true转为1,false转为0
    
           var b = true
    
           console.log(typeof b + b + '转换前')
    
           console.log(typeof Number(b) + Number(b) + '转换后')
    
           //空字符串和空白字符串转为0,非空非纯数字字符串转为NaN
    
           var c = '' //空字符串
    
           var d = "   " //空白字符串
    
           console.log(typeof c + c + ' 转换前')
    
           console.log(typeof Number(c) + Number(c) + ' 转换后')
    
           console.log(typeof d + d + ' 转换前')
    
           console.log(typeof Number(d) + Number(d) + ' 转换后')
    
           //非空非纯数字字符串
    
           var e = "dssdjl1111" //空白字符串
    
           console.log(typeof e + e + ' 转换前')
    
           console.log(typeof Number(e) + Number(e) + ' 转换后')
    
           //undefined:转为NaN
    
           var f = undefined
    
           console.log(typeof f  + ' 转换前' + f)
    
           console.log(typeof Number(f) + ' 转换后' + Number(f) )
    
           //null:转为0
    
           var g = null
    
           console.log(typeof g  + ' 转换前' + g)
    
           console.log(typeof Number(g) + ' 转换后' + Number(g) )
    
  2. parseInt()方法:字符串转整数方法

    • 对浮点数进行取整操作

    • 对数字取整直接舍弃小数部分,只保留整数

    • 将字符串转为整数数字

      • 将字符串转为整数数字,也包含取整功能
    • 字符串中,必须是纯数字字符串或者数字字符开头的字符串,才能转换为正常数字,且只取整数部分

    • 如果不是数字打头的字符串,会转换为NaN

    console.log(parseInt(1.96469))//对浮点数进行取整操作
    
            console.log(parseInt(undefined))//NaN
    
            console.log(typeof parseInt('2.156646'))//将字符串转为整数数字,也包含取整功能
    
            console.log( parseInt('ac2.1546'))//如果不是数字打头的字符串,会转换为NaN
    
  3. parseFloat()方法:字符串转浮点数方法

    * 将字符串转为浮点数数字

    * 满足浮点数数字字符必须在字符串开始,如果不在开始返回值都是NaN    

console.log( parseFloat('3554.4656'))// 将字符串转为浮点数数字

//满足浮点数数字字符必须在字符串开始,如果不在开始返回值都是NaN

console.log( parseFloat('355s4.4656'))//355

console.log( parseFloat('acs355s4.4656'))//NaN

转字符串

  1. 变量.toString()方法

  2. String(变量)方法,有些值没有toString(),这个时候可以使用String()。比如undefinednull

  3. + 号拼接字符串方式

    • num + “” ,当 + 两边一个操作符是字符串类型,一个操作符是其他类型的时候,会先把其他类型转换成字符串在进行字符串拼接,返回字符串
     var a = 100

     console.log(typeof a.toString())//string

    // *      undefined 不能使用 toString 方法

    //      *      null 不能使用 toString 方法

    var a = null

    console.log(typeof a.toString())// 报错

    var a = undefined

    console.log(typeof a.toString())// 报错

转布尔

  1. Boolean(变量)方法

    * 转型函数Boolean()可以用于任何数据类型,将其他数据类型转为布尔类型的值

    * 转为false:NaN、0、“”空字符串、null、undefined

    * 转为true:非0 非NaN数字、非空字符串

//转为true:非0 非NaN数字、非空字符串

         console.log( Boolean(123)) //true

         console.log( Boolean('123')) //true

         console.log( Boolean(-123)) //true

         console.log( Boolean("  ")) //true 空白字符串有空格所以是true

         //转为false:NaN、0、“”空字符串、null、undefined

         console.log( Boolean(NaN)) //false

         console.log( Boolean(null)) //false

         console.log( Boolean(0)) //false

         console.log( Boolean(undefined)) //false

         console.log( Boolean('')) //false