JavaScript

这篇博客主要介绍了JavaScript的学习,从ECMAScript的基本语法结构到BOM和DOM的概念,接着详细讲解了JavaScript的基本数据类型,包括number、string、Boolean、undefined和null,并提到了NaN。此外,还讨论了变量命名规范、typeof关键字的用法以及各种运算符。最后,文章触及了条件语句如if...else和switch...case的使用。
摘要由CSDN通过智能技术生成

JS的从头学习

## 假期篇



### 三大核心:

​ ECMAScript:执行标准化javascript的基本语法结构
​ BOM
​ DOW


### JS的书写方式

​ 行内式:a标签 ,非a标签

<a href="javascript:alert('hello  javascript!!!')">奥利给</a>

​ 外链式

<script src="./js/hsow.js"></script>

​ 嵌入式:

<script>
    //javascript  语句;
</script>

### JS的输出语法

​ alert() 弹出信息
​ console.log() 输出普通信息 在控制台输出
​ document.white()用于在页面中显示输出的内容


### js的注释

​ 单行注释

//这是单行注释
console.log("单行注释")



	多行注释



```javascript
/*  这是多行注释
* 可以有很多行
*
*
/
console.log("多行注释")

### JS的变量

​ 一个名字来代表一个值
​ 在运算的过程中,用来保存一个中间变量
​ 语法:var变量名=值

<script>
    var  my_name;
	var pages,list_number,$num_2028
    var my_name="河南"
    </script>

### JS的数据类型
基本数据类型

​ number数值

<script>
  // 整数
  var u_age = 18;
  // 浮点数
  var u_height = 1.75;
  // 浮点数(双精准)
  var u_eyes = 0.12345678;
  // 正数
  var p_number = +1;
  // 负数
  var n_number = -1;
  // 支持科学计数法格式
  var f_number = 3.14E6; // 3.14*10^6
  var f_number2 = 3.14E-6; // 3.14*10^-6

  // NaN
  var box = 0/0;
  var box2 = 12/0 * 0;
  console.log(box,box2);
  // 也可以通过 isNaN() 函数来判断是否是一个数字Number
  // ECMAScript提供isNaN()函数,用来判断这个是不是NaN。
  // isNaN()函数在接收到一个值后,会尝试将这个值转换成数值。
  // isNaN的值是true 表示这不是一个数字,false表示是一个数字
  console.log(isNaN(1)); // false 
  console.log(isNaN("123")); // false
  console.log(isNaN("hello world")); // true

 
</script>

​ string字符串

// 1. 定义了一个名字 t_name 被 var 修饰,这是一个变量 此时默认是undefined,特殊数据类型
  var t_name;
  // 2. 赋值 JavaScript是根据 等号 = 右边的值进行数据类型的判定
  t_name = "Tony"; // 此时 t_name 才是 String 字符类型  双引号
  // 3. 验证 t_name 的类型
  console.log(t_name); // 打印 t_name
  console.log(typeof(t_name)); // 使用typeof 进行类型判断

  // 4. 定义了一个名字为user_id 被var 修饰,根据等号 右边的值,user_id 被判定为字符类型
  var user_id = '111111111111111111'; // 单引号
  console.log(user_id);
  console.log(typeof(user_id));

  // 5. 双引号 和 单引号 建议使用 外双内单的方式。
  var a_word = "' just do it ' no zuo no die why you try,you try you die don't ask why";
  var b_word = '" let it go " no zuo no die why you try,no try no high give me five';
  console.log(a_word, b_word);

  // 6 转义
  var who_am_i = "I\'m a good man.";
  var day_1111 = "双\"11.11\"购物狂欢!!!";
  var table_header = "\t第一列\t第二列\t第三列\t第四列";
  var table_body1 = "\t星期一\t西红柿\t土 豆\t番茄";
  var table_body2 = "\t星期二\t茄 子\t黄 瓜\t扁豆";
  console.log(table_header);
  console.log(table_body1);
  console.log(table_body2);
</script>

​ Boolean 布尔

<script>
  var yes_val = true;
  var no_val = false;
</script>

​ undefined 空
​ null 空

​ NaN=Not a number

	#### 复杂数据类型

​ 未完待续


### 变量命名规则和命名规范

	#### 规则

​ 只能有字母 数字 下划线 美元符 组成
​ 不能有数字开头
​ 严格区分大小写
​ 不能使用关键字和保留字

	#### 规范

​ 不能使用中文
​ 变量语义化
​ 驼峰命名法


### 数据类型的检测

​ typeof 关键字
​ typeof 变量
​ typeof(变量)


### 数据类型转换

	#### 转数值

​ Number()
​ parseInt()
​ parseFalse()
​ 去正负值
​ 非加法的数学运算

	#### 转字符

​ String()
​ toString()
​ 加号进行字符串拼接

	#### 转布尔

​ Boolean()


### 运算符

	#### 数学运算符

​ %
​ +
​ -
​ *
​ /

<script>
    alert(1+1);
alert(2*3);
alert(2-1);
alert(5/1);
</script>


	#### 赋值运算符

​ =
​ +=
​ -=
​ /=
​ %=

</body>
<script>
  // 1. = 号赋值符
  var y = 10;
  var x = y ;
  console.log(x,y);
  // 2  +=
  x += y;
  console.log(x,y);
  // 3. -=
  x -= y;
  console.log(x,y);
  // 4. *= 
  x *= y;
  console.log(x,y);
  // 5. /=
  x /= y;
  console.log(x,y);
  // 6. %=
  x %= y;
  console.log(x,y);
</script>
	#### 比较运算符

​ >
​ <
​ >=
​ <=
​ ==
​ !=
​ !==

<script>
  // 1. ==
  console.log(1 == 1);
  console.log(1 == 2);
  console.log(1 == "1");
  // 2. ===
  console.log(1 === "1");
  console.log("1" === "1");
  // 3. !=
  console.log(1 != 1);
  console.log(1 != 2);
  console.log(1 != "1");
  // 4. !== 
  console.log(1 !== 1);
  console.log(1 !== "1");
  console.log("1" !== "1");
  // 5. >
  console.log(1 > 1);
  console.log(2 > 1);
  // 6. <
  console.log(1 < 1);
  console.log(2 < 1);
  // 7. >=
  console.log(1 >= 1);
  console.log(2 >= 1);
  // 8. <=
  console.log(1 <= 1);
  console.log(2 <= 1);
  // 9. 经典面试题 
  // 0.1 + 0.2  与  0.3 比较的结果
  console.log(0.1 + 0.2);
  // 将0.1转换成二进制
  console.log(0.1.toString(2)); // 0.0001100110011001100110011001100110011001100110011001101
  // 将0.2转换成二进制
  console.log(0.2.toString(2));  // 0.001100110011001100110011001100110011001100110011001101
  
</script>
	#### 逻辑运算符

​ &&
​ ||
​ !

script>
  // 1. && 逻辑与
  console.log(true && true);
  console.log(false && false);
  console.log(true && false);
  console.log(5 && 4);//当结果为真时,返回第二个为真的值4 
  console.log(0 && 4);//当结果为假时,返回第一个为假的值0 
  console.log((1 > 2) && (2 > 3));
  console.log((1 < 2) && (2 < 3));
  // 小结:
  /*
    && 逻辑与 (充分必要)
    1.1 两边条件都为true时,结果才为true;
    1.2 如果有一个为false,结果就为false;
    1.3 当第一个条件为false时,就不再判断后面的条件
    1.4 数字对比,非0即为真
  */

  // 2. || 逻辑或
  console.log(true || true);
  console.log(false || false);
  console.log(true || false);
  console.log(5 || 4);//当结果为真时,返回第二个为真的值4 
  console.log(0 || 4);//当结果为假时,返回第一个为假的值0 
  console.log((1 > 2) || (2 > 3));
  console.log((1 < 2) || (2 < 3));
  // 小结:
  /*
    || 逻辑与 (既不充分又不必要)(或者)
    2.1只要有一个条件为true时,结果就为true;
    2.2当两个条件都为false时,结果才为false;
    2.3当一个条件为true时,后面的条件不再判断
  */
  // 3. ! 取相反
  console.log(!true);
  console.log(!false);
  console.log(!0);
  console.log(!10);
  // 小结:
  /*
    ! 取反
    3.1 当条件为false时,结果为true;反之亦然。
  */
</script>
	#### 自增自检运算符

​ ++
​ –


### 分支语句

	####  if语句

​ if(){}
​ if(){}else{}
​ if(){} else () {}
​ if() {} else if () {} else {}

<script>
  // 1. 声明函数
  function checkUserAge() {
    // 2. 获取 id 为 user_age 的input
    var get_el_input = document.getElementById("user_age");
    // 3. 取得 input 对应的value, 并通过parseInt()将字符串转换成整数
    var get_el_value = parseInt(get_el_input.value);
    console.log(get_el_value);
    // 4. 判断年龄
    console.log("开始");
    if ( get_el_value < 18) {
      console.log("还小,未成年!!");
    }

    if ( get_el_value > 6 && get_el_value < 18) {
      console.log("我还是曾经的那个少年!!!😎");
    }

    if ( get_el_value > 255 || get_el_value < 0 ) {
      console.log("未成人或不可能!!!!");
    }

    if ( get_el_value == 18 || get_el_value > 18 && get_el_value <= 30) {
       console.log("成人了,可以成家立业了!!!");
    }
    
    console.log("结束");
  }
</script>
	#### switch语句

​ switch (变量{

​ case 情况1 : 情况1满足的代码

break

case 情况2 : 情况2满足的代码 break

default 所有情况都不满足的时候执行的代码

<script>
  // 1. 声明函数
  function checkScore() {
    // 2. 获取 id 为 user_age 的input
    var get_el_input = document.getElementById("user_score");
    // 3. 取得 input 对应的value, 并通过parseInt()将字符串转换成整数
    var get_el_value = parseInt(get_el_input.value);
    console.log(get_el_value);
    // 4. 判断成绩段位
    var score_level = parseInt(get_el_value / 10); // 100分制
    switch (score_level) {
      case 10:
      case 9:
        console.log("优秀!!!");
        break;
      case 8:
        console.log("良好,需要继续加油!!!");
        break;
      case 7:
        console.log("中等!!!");
        break;
      case 6:
        console.log("及格!!!");
        break;
      default:
        console.log("不及格,重修!!!");
        break;
    }
  }
</script>
		#### 注意

​ 注意1、case和变量只能是===的关系才能满足
​ 注意2.只能判断1个准确值 不能判断范围
​ 3。break可以不写 不写会向下穿透
​ 4。break穿透从第一个满足条件的case开始穿透
​ 5。default 可以不写 不写就是所有条件都不满足的时候 没有代码执行

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值