Day 22 (Js)

1.宣告a 赋值 null

var a = null

赋值:数字、"字串"、null、undefined... 皆不是 就是「另一变数」


2.indexOf()

, 要数个
? 可有可无
https://ithelp.ithome.com.tw/upload/images/20210625/20137684xNluQqQ6If.png


3.split()

https://www.w3schools.com/jsref/jsref_split.asp
string.split(separator, limit)
[]阵列


4.空白的定义

https://ithelp.ithome.com.tw/upload/images/20210625/20137684WnfwkOK3Br.png


5.侦错、抓错

console.log(变数); 放进去看看这到底是甚麽?
ex:console.log(errMag);

      var errMag = 1 / "apple";  //NaN
      console.log(errMag);       //是甚麽?

      var errMag = 1 / 0;     //Infinity
      console.log(errMag);     //是甚麽?

   console.log(typeof errMag); //甚麽型别?

6.有几个? 想到>>length 


7.JavaScript by reference vs. by value

传址 vs.传值
区别实益:更改述职时会不会被取代(传值x.传址v)

number -> 传值
Array -> 传址
https://ithelp.ithome.com.tw/upload/images/20210625/201376845BpFtOzC3p.png
EX:

      var lsB = lsA;

取得 lsB 第一个位置的值

      console.log(lsB[0]); // 1,其实是lsA的1

修改 lsB 第一个位置的值

      lsB[0] = 999;
      console.log(lsB.toString()); // 999,2,3,4,5,6

将 lsA 列印出来查看
JavaScript by reference vs. by value(传址) (传值)
没有lsA改变,lsA为什麽变了??? 因为「回传址」非「回传值」

      console.log(lsA.toString()); // 999,2,3,4,5,6

8.甚麽时候需要一个物件?

非常多的变数形容一个物体的时候
ex:人

      var Sid = 1;
      var SName = "Crash";
      var SHtml = 100;
      var SPhone = ["0910000000", "0412345678"];

ex:成绩

      var apple = {
        //key1:value1
        chinese: 100,
        english: 90,
        math: 70,
      };

9. {}、[]、.差异

(1)var a = {物件}
中括弧里面有字串,「前面」一定是个物件

ex:apple

      var apple = {     //物件 = 属性 + 方法
        chinese: 100,   //key1:value1
        english: 90,
        math: 70,
      };

      console.log(apple["math"]);  //物件的找法
      console.log(apple);

(2)var a = [阵列]
中括弧里面非字串,是数字

ex:poker

      var poker = [];
      poker[0] = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13];
      console.log(poker[0].length); //13 因开0号柜子 里面有13个

(3) . 的
ex:苹果的英文 apple.english

      console.log(apple.english); //90

10.四则运算前,维持符号左右「必须」都是数字

 
"字串" 的四则运算

      var apple = "11";
      var bee = "1";
      console.log(apple + bee); //1+11=111 黏起来XD
      console.log(apple - bee); //你就是数字啦= = 脱你"字串"衣服(蓝色)
      console.log(apple * bee); //你就是数字啦= = 脱你"字串"衣服(蓝色)
      console.log(apple / bee); //你就是数字啦= = 脱你"字串"衣服(蓝色)

Ex: 关於"字串"的运算的陷阱

           a. "11" + 1    // 111(O)  12(X)
           b. "11" - 1    // 10(O)

11.让比较值「两个一组」,电脑才不会误会

(1) 3 > 2 > 1

(1-1) 3 > 2 = true
(1-2) true =1 >1 false

      console.log(3 > 2 > 1); // false (==??) 

12.判断式请单纯!

计算在判断式外面做
在外面算好在抓近来比较

      var apple = 10;
      var bee = 20;

      if (apple++ > 10 && bee-- < 20) {
        console.log(`A. apple:${apple}, bee:${bee}`); 

      } else {
        console.log(`B. apple:${apple}, bee:${bee}`);
      }
apple= 11
因为 && ,apple++ > 10 一定是fales,出来结果一定是fales,会进入B
bee = 20
所以就只算前面 ,後面就不继续计算了(嫌麻烦逆XD?)

结论:判断式在外面算好再进去比较

ex:if (apple > 10 && bee < 20)

<<:  当SFC在Windows上无反应时如何解决?

>>:  GCP 自动开关机

From mud to Structure

From mud to Structure: 从无到有规划新的服务 规划软件服务的过程比实作来的重要...

html 音量拉杆

今天来说要如何做出一个可以左右滑的拉杆,程序码范例如下 <input type="r...

[ Day 04 ] Virtual DOM ? ReactDOM ?

还记得我们在 Day 02 的时候有跟大家提到 React.js 是使用 Virtual DOM ...

【Bootstrap】【Vue】不会自己收阖的Navbar

【前言】 本系列为个人前端学习之路的学习笔记,在过往的学习过程中累积了很多笔记,如今想藉着IT邦帮忙...

Day-17 I/O运作

I/O运作 tags: IT铁人 I/O装置 所谓的I/O装置,就是input/output的装置,...