第一章 js入门及原始值类型

128 阅读4分钟

JS构成

  • ECMAScript:语言的核心(语法)
  • DOM:(文档对象模型)操作标签
  • BOM:(浏览器对象模型)操作浏览器窗口

1.JS引入的几种方式

  • 内嵌式(两种方式)
  • 写在head里要,需要加入代码 window.onload = function ()

功能:执行所有代码后在执行引入代码

    • 写在body里面,

注意:引入的代码行要写在被选元素后边

    • 代码如下:
<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
  <!-- 内嵌式 -->
  <!-- <script>
    window.onload = function () {
      var box = document.getElementById("box");
    console.log(box);
    }
  
  </script> -->
</head>

<body>

  <!-- 引入JS -->
  <!-- 第一种:内嵌式 -->
  <div id="box">1</div>
 <script>
    var box = document.getElementById("box");
    console.log(box);
    console.log(111111);
    //调试代码方式(如果要输出多个,用逗号隔开)
    console.log(111111,222);
  </script>
    <!-- 第三种:通过事件引入 -->
  <!-- <div id="box" onclick="alert(1111)">11111</div> -->

</body>

</html>
  <!-- 第二种:外链式 -->
<!-- <script src="./index.js"></script> -->
  • 外链式<script src="./index.js"></script>

注意:要写在被选元素后边

  • 行内式(通过事件引入):<div id="box" onclick="alert(1111)">11111</div>

引入后点击被选元素会出现弹框

2.命名规范

  1. 区分大小写
  2. 数字、字母、下划线、$(不能是数字开头)的组合
  1. 不能是关键字和保留字
  • 关键字:代表特殊含义和功能的名字,例如: var、function、break、else、new、var、 case、 finally 、 return、 void 、 catch 、for 、switch 、 while 、 continue、this 、 with 、default 、 if 、 throw 、 delete 、 in 、 try 、do 、 instranceof、 typeof
  • 保留字:现在还不是关键字,以后可能会是关键字,做后备使用,例如:abstract 、 enum 、int 、 short 、 boolean 、export 、interface、 static、 byte 、extends 、 long 、 super 、 char 、 final 、native 、synchronized 、 class 、float 、 package 、throws 、 const 、goto 、private 、transient 、 debugger 、 implements 、protected 、 volatile 、 double 、import 、public
  1. 命名要有语义化,可以参照以下几种方式:
    • 小驼峰命名法:myName (除了第一个单词,往后的每一个单词首字母都要大写)
    • 大驼峰命名法:MyName (每一个单词的首字母都要大写)
    • 下滑线命名法:my_name (每一个单词都要用下划线连接)

3.js变量

  1. 利用var声明并定义变量,例:
 <!-- 引入JS -->
  <script>
    // 声明一个变量number1
    var number1
    // 定义(赋值)
    number1 = 1000;
    console.log(number1);//控制台查看当前元素
    //重新定义(赋值)
    number1 = 2000;
    console.log(number1);

    // 或者直接声明加定义
    // var number1 = 1000;


    //如果想声明多个变量
    // 第一种
    var num1;
    var num2;
    //第二种
    var num1,num2;
    //声明加定义
    //第一种
    var name1 = "zhangsan";
    var name2 = "zhangsa";
    //第二种
    var name1 = "zhangsan",name2 = "lisi";
    

  </script>

4.原始值类型(基本数据类型/值类型)

1.Number 数值

  1. 整型(整数)
  2. 浮点(小数)
  • 直接写小数
  1. js中数值范围
  • JS中的Number数据类型只能安全的表示在-(253-1)到(253-1)即(-9007199254740991)到 9007199254740991之间
  • Number.MAX_SAFE_INTEGER:最大安全数(js能够识别的最大整数)超过了JS无法精准计算。表示方法:console.log(Number.MAX_SAFE_INTEGER);
  1. 特殊数值NaN
  • NaN是一个number类型,是一个数值,表示非有效数字
  • 特点1:与任何数值进行任何运算结果都是NaN
  • 特点2: NaN与任何数都不相等,包括自己
  1. 与数值相关运算符
    • 相加
    • 相减
    • 相乘
  • / 相除
  • % 取余(模)
  1. 相关函数
  • Number() JS内置的一个方法
    • 代码:console.log(Number('12.5'));
    • 字符串转换为数字(如果字符串里面是一个有效数字,正常转换,如果不是有效数字,则转换为NaN)
    • 空串转换为Number为0
    • 布尔值(boolean)转换规则
      • ture(1)
      • flase(0)
    • null转换为0
    • undefined转换为数字null
    • symble();不能转换数字,报错 Connot……
  • parseInt/parseFlase:同样是把其他类型转换为number类型的
    • parseInt:整数
      • 代码: console.log(parseInt('12px24'));
      • 字符串里的值,从左往右检索,如果遇到非有效数字停止查找(找的是整数)
      • 如果第一个就是非有效数字,那结果就是NaN
    • parseFloat:小数
      • 特点同上不过检索的是小数(只能识别一个小数点)
    • 检索时“首尾”省略号会忽略
  • toFixed:保留小数点后边n位(最后的结果是一个字符串)
var num3 = 0.115444444;
num3 = num3.toFixed(3);
consoxle.log(num3);
或者
console.log(num3.toFixed(2));
  • isNaN():判断一个值是否是有效数字
    • ture(非有效数字)
    • false(有效数字)
    • 代码:console.log(isNaN(111));

2.String 字符串

  1. 定义字符串
  • 在JS中使用单引号、双引号、反引号包起来的都是字符串
  1. 相关函数
  • String()
    • 代码:string(111)结果'111'

3.Null 没有

  1. 定义:null表示没有,即该处没有值
  2. 获取DOM获取不到的时候

4.Undefind 未定义变量

  1. 定义了变量但没有给值,显示underfined
  2. 对象属性名不存在时,显示underfined
  1. 函数没有写返回值,即没有写return,显示underfined
  2. 写了return,但没有赋值,显示underfined

5.Boolean 布尔值(值为false/ture)

  1. 值:
  • false 错误(假/否/关)
  • ture 正确 (真/是/开)
  1. 数字或字符串转为布尔值
  • 0、NaN、空字符串("")、null、underfined转换为false
  • 其余都是true
  1. 一个!是取反,两个!相当于转换为布尔值。例:``console.log(!!1);

console.log(!1);

6.Symble 唯一值

  1. Symble("")里边是字符串时候为准确输出,不是字符串的时候输出数字太大的时候不准确。

7.BigIon 大数

  1. 定义:管理超过安全数值的数字

  2. ES6中提供的新数据类型