亚洲色影视在线播放_国产一区+欧美+综合_久久精品少妇视频_制服丝袜国产网站

學(xué)習(xí)方法

javascript知識(shí)點(diǎn)

時(shí)間:2022-10-05 18:24:02 學(xué)習(xí)方法 我要投稿
  • 相關(guān)推薦

javascript知識(shí)點(diǎn)

  學(xué)習(xí)javascript要掌握哪些知識(shí)點(diǎn)?下面是小編整理的一些javascript知識(shí)點(diǎn),希望對(duì)你有幫助。

javascript知識(shí)點(diǎn)

 

  ECMAScirpt中的變量,函數(shù)名,操作符都區(qū)分大小寫(xiě)。

  標(biāo)識(shí)符

  標(biāo)識(shí)符指的可能是:

  變量名

  函數(shù)名

  屬性名

  函數(shù)的參數(shù)

  標(biāo)識(shí)符的名稱(chēng):

  第一個(gè)字符只能是字母,下劃線_,或者美元符號(hào)$;

  其他的可以是字母,數(shù)字,下劃線_,或者美元符號(hào)$。

  按照慣例,標(biāo)識(shí)符名稱(chēng)應(yīng)使用駝峰法,即首字母小寫(xiě),剩下的每個(gè)單詞首字母大寫(xiě)。

  不能把關(guān)鍵字、保留字、TRUE、FALSE、NULL作為標(biāo)識(shí)符名稱(chēng)。

  注釋?zhuān)?/p>

  //單行注釋

  /*

  多行注釋

  多行注釋

  */

  嚴(yán)格模式:

  ES5引入了嚴(yán)格模式,嚴(yán)格模式下,某些舊版本(ES3)的一些不確定行為將得到處理,而對(duì)某些不安全的操作也會(huì)拋出錯(cuò)誤。支持嚴(yán)格模式的瀏覽器:IE10+ Firefox 4+ Safari 5.1+ Opera 12+ Chrome

  //在整個(gè)腳本中引入嚴(yán)格模式,則在script標(biāo)簽頂部或者*.js文件頂部添加如下代碼即可。

  "use strict";

  //在指定函數(shù)中引入嚴(yán)格模式:

  function f1(){

  "use strict";

  //TODO...

  };

  TODO : 引入了嚴(yán)格模式與沒(méi)引入嚴(yán)格模式的js文件如何解決沖突以及共存?

  語(yǔ)句:

  ES中的語(yǔ)句以一個(gè)分號(hào)結(jié)尾,省略分號(hào)雖然有效但不推薦。

  var sum = 1 + 2;

  關(guān)鍵字與保留字:

  // 關(guān)鍵字

  break case catch continue debugger default delete do instanceof else new finally return for switch function this if throw in try typeof var void while with

  // ES3定義的保留字

  abstract boolean byte char class const debugger double enum export extends final float goto implements import int interface long native package private protected public short static super synchronized throws transient volatile

  //ES5中非嚴(yán)格模式下的保留字縮減為這些:

  class enum extends super const export import

  //ES5中嚴(yán)格模式下的相對(duì)非嚴(yán)格模式增加的保留字,其中l(wèi)et與yield是新增的。

  implements interface let package private protected public static yield

  //實(shí)際開(kāi)發(fā)中,建議將ES3定義的保留字外加新增的let與yield作為參考。

  需要注意的是,ES5的嚴(yán)格模式下, eval 與 arguments 也不能作為標(biāo)識(shí)符與屬性名,否則會(huì)拋出錯(cuò)誤。

  變量:

  ES中的變量是松散類(lèi)型的,即變量可以保存任何類(lèi)型的數(shù)據(jù)。

  定義變量使用 var 操作符,后跟變量名(即一個(gè)標(biāo)識(shí)符),

  使用 var 操作符定義的變量會(huì)成為該作用域下的局部變量,該變量在函數(shù)退出之后就會(huì)被銷(xiāo)毀:

  var a; //定義一個(gè)名為a的變量,值是undefined

  var b = null; //定義一個(gè)名為b的變量,值為null(空)

  var c = 'percy'; //定義一個(gè)名為c的變量,值為字符串“percy”

  function f1(){

  var name = 'jon'; //函數(shù)f1()下的局部變量

  alert(name);

  }

  f1(); //jon

  alert(name); //外部不能直接訪問(wèn)函數(shù)的內(nèi)部變量

  //使用一條語(yǔ)句定義多個(gè)變量,用逗號(hào)分隔即可。

  var name='jon', age=25, isMarried=false;

  數(shù)據(jù)類(lèi)型:

  ES中有

  5種簡(jiǎn)單數(shù)據(jù)類(lèi)型(基本數(shù)據(jù)類(lèi)型): Undefined 、 Null 、 Boolean 、 Number 、 String

  1種復(fù)雜數(shù)據(jù)類(lèi)型: Object

  檢測(cè)給定變量的數(shù)據(jù)類(lèi)型 —— typeof 操作符

  返回值:

  undefined ——給定的值未定義;

  boolean ——給定的值是布爾值;

  string ——給定的值是字符串;

  number ——給定的值是數(shù)值;

  object ——給定的值是對(duì)象或者 null ;

  function ——給定的是函數(shù);

  function f2(){

  console.log('Hi!');

  }

  var name = 'jon';

  var age = 25;

  alert(typeof f2); //function

  alert(typeof name); //string

  alert(typeof age); //number

  ES數(shù)據(jù)類(lèi)型之 Undefined 類(lèi)型

  只有一個(gè)值: undefined

  var name;

  /*var name = undefined;*/ //無(wú)需把變量顯式設(shè)置undefined值

  alert(name == undefined); //true

  變量的值為undefined與未聲明的變量并不一樣,但使用 typeof 操作符均會(huì)返回undefined,但輸出值時(shí)未聲明的變量會(huì)產(chǎn)生錯(cuò)誤:

  var job; //該變量已聲明但未賦值,默認(rèn)值為undefined

  // var name2; 該變量并未聲明

  alert(typeof job); //測(cè)試變量類(lèi)型,輸出undefined

  alert(typeof name2); //測(cè)試變量類(lèi)型,即使變量未聲明也會(huì)輸出undefined

  //輸出值時(shí)

  alert(job); //undefined

  alert(name2); //產(chǎn)生錯(cuò)誤:Uncaught ReferenceError: name2 is not defined

  ES數(shù)據(jù)類(lèi)型之 Null 類(lèi)型

  只有一個(gè)值: null ;

  undefined 值派生自 null 值,所以用 == 測(cè)試兩者時(shí)會(huì)返回 true ;

  null 值表示一個(gè)空對(duì)象指針,所以使用 typeof 操作符時(shí)會(huì)返回 object ;

  如果創(chuàng)建的變量將來(lái)用于保存對(duì)象,那么初始聲明該變量時(shí)應(yīng)把值設(shè)置為 null ;

  var name = null;

  alert(typeof name); //object

  ES數(shù)據(jù)類(lèi)型之 Boolean 類(lèi)型

  有兩個(gè)值: true 、 false ;

  //注意Boolean類(lèi)型字面值是區(qū)分大小寫(xiě)的,True、False以及其他大小寫(xiě)混合的形式均不屬于Boolean類(lèi)型值;

  var isBoy = true;

  var isGirl = false;

  使用 Boolean() 函數(shù)把其他值轉(zhuǎn)為Boolean值

  var name = 'jon';

  var nameBool = Boolean(name); //true

  轉(zhuǎn)換規(guī)則如下表:

  數(shù)據(jù)類(lèi)型 轉(zhuǎn)為true的值 轉(zhuǎn)為false的值

  Boolean true false

  String 任何非空字符串 “”(空字符串)

  Number 任何非零數(shù)值(包括無(wú)窮大) 0,NaN

  Object 任何對(duì)象 null

  Undefined 不適用 undefined

  轉(zhuǎn)換規(guī)則對(duì)于流程控制語(yǔ)句自動(dòng)執(zhí)行相應(yīng)的Boolean轉(zhuǎn)換非常重要:

  var name = 'jon';

  if(name){ //name轉(zhuǎn)換為true,執(zhí)行下面的語(yǔ)句

  alert('name is defined!');

  }

  ES數(shù)據(jù)類(lèi)型之 Number 類(lèi)型

  TODO

  ES數(shù)據(jù)類(lèi)型之 String 類(lèi)型

  TODO

  ES數(shù)據(jù)類(lèi)型之 Object 類(lèi)型

  TODO

  變量, 作用域, 垃圾收集(內(nèi)存問(wèn)題)

  基本類(lèi)型和引用類(lèi)型

  ES中的變量包含 基本類(lèi)型值 和 引用類(lèi)型值

  基本類(lèi)型值 指的是簡(jiǎn)單的數(shù)據(jù)段

  引用類(lèi)型值 值那些可能有多個(gè)值構(gòu)成的對(duì)象

  五種基本數(shù)據(jù)類(lèi)型( Undefined, Null, Boolean, Number, String )的值即 基本類(lèi)型值 是按 值 訪問(wèn)的, 因此操作的是保存在變量中實(shí)際的值

  引用類(lèi)型值 是保存在內(nèi)存中的對(duì)象,ES不允許直接訪問(wèn)內(nèi)存中的位置, 即不能直接操作對(duì)象的內(nèi)存空間. 在操作對(duì)象時(shí), 實(shí)際上是在操作對(duì)象的引用而不是實(shí)際的對(duì)象.

  當(dāng)復(fù)制保存在對(duì)象中的某個(gè)變量時(shí), 操作的是 對(duì)象的引用 . 但在為對(duì)象添加屬性時(shí), 操作的是 實(shí)際的對(duì)象 .

  動(dòng)態(tài)的屬性

  定義基本類(lèi)型的值和引用類(lèi)型的值方式是基本一樣的, 就是 創(chuàng)建一個(gè)變量, 然后為該變量賦值 .

  創(chuàng)建變量以后,基本類(lèi)型的值和引用類(lèi)型的值執(zhí)行的操作有很大不同.

  //引用類(lèi)型可以為其添加或刪除屬性和方法

  var p = new Object();

  p.name = "Jon";

  console.log(p.name); //Jon

  delete p.name;

  console.log(p.name); //undefined

  //基本類(lèi)型不能添加屬性, 因?yàn)榧词固砑恿艘膊荒茉L問(wèn)

  var n = "Jon"; //一個(gè)string字符串類(lèi)型

  n.age = 25;

  console.log(n.age); //undefined

  復(fù)制變量值

  復(fù)制基本類(lèi)型值的變量值與復(fù)制引用類(lèi)型值的變量值也存在不同.

  復(fù)制 基本類(lèi)型值 時(shí), 是直接創(chuàng)建新值, 占據(jù)不同的內(nèi)存(棧)空間, 復(fù)制之后兩個(gè)變量可以參與任何操作而不互相影響

  var n1 = 5;

  var n2 = n1; //復(fù)制n1

  復(fù)制 引用類(lèi)型值 時(shí), 同樣也會(huì)把儲(chǔ)存在變量對(duì)象中的值復(fù)制一份到新變量分配的空間中, 但這個(gè)新變量的值其實(shí)是一個(gè)指針, 指向儲(chǔ)存在堆中的一個(gè)對(duì)象. 所以兩者引用的是同一個(gè)對(duì)象. 所以, 改變其中一個(gè)變量, 另一個(gè)變量也會(huì)受到影響.

  var o1 = new Object();

  var o2 = o1;

  o1.name = 'Jon';

  console.log(o2.name); //o1和o2指向的是堆內(nèi)存中的同一個(gè)對(duì)象, 所以同樣會(huì)輸出Jon

  參數(shù)傳遞

  ES中所有函數(shù)的參數(shù)都是按 值 傳遞的,不存在 引用 傳遞的參數(shù)

  函數(shù)外部的值復(fù)制給函數(shù)內(nèi)部的參數(shù), 就等于把值從一個(gè)變量復(fù)制到另一個(gè)變量一樣.

  基本類(lèi)型值 的傳遞就像基本類(lèi)型變量的復(fù)制一樣, 向參數(shù)傳遞 基本類(lèi)型值 的時(shí)候, 被傳遞的值會(huì)被復(fù)制給一個(gè)局部變量(即命名參數(shù), 用ES的概念來(lái)說(shuō), 就是arguments中的一個(gè)元素)

  引用類(lèi)型值 的傳遞就像引用類(lèi)型變量的復(fù)制一樣, 向參數(shù)傳遞 引用類(lèi)型值 的時(shí)候, 會(huì) 把這個(gè)值在內(nèi)存中的地址復(fù)制給一個(gè)變量 , 因此這個(gè)局部變量的變化會(huì)反映在函數(shù)的外部

  function addTen(n){ //參數(shù)(這里是n)其實(shí)是函數(shù)的局部變量

  n += 10;

  return n;

  }

  var c = 20;

  var r = addTen(c); //調(diào)用時(shí),c作為一個(gè)局部變量傳遞給n,函數(shù)體內(nèi)又會(huì)自増10然后返回

  console.log(c); //外部的c變量不會(huì)被影響,還是20

  console.log(r); //30

  function setName(obj){

  obj.name = "Jon";

  }

  var p = new Object(); //創(chuàng)建了一個(gè)對(duì)象并保存在變量p中

  setName(p); //隨即被傳遞到setName()中,p復(fù)制給了obj

  console.log(p.name); //所以obj的屬性name也能被p訪問(wèn)到,所以這里輸出Jon

  //證明對(duì)象是按值傳遞的例子

  function setName(obj){

  obj.name = 'Jon';

  obj = new Object(); //為obj重新定義了一個(gè)對(duì)象

  obj.name = 'Percy'; //然后為obj定義了另一個(gè)name屬性

  }//如果p是引用傳遞的話, 那么p就會(huì)自動(dòng)被修改為指向其name屬性值為Percy的對(duì)象,但下面的例子輸出的仍然是Jon. 說(shuō)明即使函數(shù)內(nèi)部修改了參數(shù)的值, 但原始的引用仍然保持不變.

  var p = new Object();

  setName(p);

  console.log(p.name); //Jon

  可以吧ES函數(shù)的參數(shù)想象成局部變量.

  檢測(cè)類(lèi)型

  typeof — 檢測(cè)變量是哪種 基本數(shù)據(jù)類(lèi)型 . string , number , boolean , undefined , object (如果變量的值是一個(gè)對(duì)象或null, 則返回object)

  console.log(typeof "Jon"); //string

  console.log(typeof true); //boolean

  console.log(typeof 1); //number

  var a;

  console.log(typeof a); //undefined

  console.log(typeof null); //object

  var o = new Object();

  console.log(typeof o); //object

  instanceof — 檢測(cè) 引用數(shù)據(jù)類(lèi)型 值時(shí), 檢測(cè)其引用數(shù)據(jù)類(lèi)型值是什么類(lèi)型的對(duì)象

  result = variable instanceof constructor

  如果變量是給定引用類(lèi)型的實(shí)例, 那么instanceof操作符就會(huì)返回true

  console.log(person instanceof Object); //變量person是Object嗎?

  console.log(colors instanceof Array); //變量colors是Array嗎?

  console.log(pattern instanceof RegExp); //變量pattern是RegExp嗎?

  所有引用類(lèi)型的值都是Object的實(shí)例, 所以檢測(cè)一個(gè)引用類(lèi)型的值和Object構(gòu)造函數(shù)時(shí)會(huì)始終返回true

  使用instanceof操作符檢測(cè)基本類(lèi)型的值會(huì)始終返回false, 因?yàn)榛绢?lèi)型不是對(duì)象

  執(zhí)行環(huán)境, 作用域

  執(zhí)行環(huán)境定義了變量或函數(shù)是否有權(quán)訪問(wèn)的其他數(shù)據(jù).

  全局執(zhí)行環(huán)境是最外圍的執(zhí)行環(huán)境(Web瀏覽器中指的是window對(duì)象),因此所以 全局變量 和 函數(shù) 都是作為window對(duì)象的屬性和方法創(chuàng)建的.

  每個(gè)函數(shù)都有自己的執(zhí)行環(huán)境, 當(dāng)執(zhí)行流進(jìn)入一個(gè)函數(shù)時(shí), 函數(shù)的環(huán)境就會(huì)被推入一個(gè)環(huán)境棧中, 函數(shù)執(zhí)行之后, 棧將其環(huán)境彈出, 把控制權(quán)返回給之前的執(zhí)行環(huán)境.

  代碼在一個(gè)環(huán)境中執(zhí)行時(shí), 會(huì)創(chuàng)建變量對(duì)象的一個(gè) 作用域鏈 , 它保證了對(duì)執(zhí)行環(huán)境有權(quán)訪問(wèn)的所有變量和函數(shù)的有序訪問(wèn).

  全局執(zhí)行環(huán)境的變量對(duì)象始終都是作用域鏈中的最后一個(gè)對(duì)象

  var color = "blue";

  function changeColor(){

  if(color === "blue"){

  color = "red";

  }else{

  color = "blue";

  }

  }

  changeColor();

  console.log("Now color is : " + color);

  //Now color is : red

  //函數(shù)changeColor()的作用域鏈包含兩個(gè)對(duì)象,它自己的變量對(duì)象和全局環(huán)境的變量對(duì)象.

  //內(nèi)部環(huán)境可以通過(guò)作用域鏈訪問(wèn)所有的外部環(huán)境, 但外部環(huán)境相反不能訪問(wèn)內(nèi)部環(huán)境的任何變量和函數(shù)

  var color = "blue";

  function changeColor(){

  var anotherColor = "red";

  function swapColors(){

  var tempColor = anotherColor;

  anotherColor = color;

  color = tempColor;

  //這里可以訪問(wèn)color, anotherColor, tempColor

  }

  swapColors();

  //這里只可以訪問(wèn)color, anotherColor

  }

  changeColor();

  ////這里只可以訪問(wèn)color

  alert("Color is now " + color);

  沒(méi)有塊級(jí)作用域

  if(true){

  var color = "blue";

  }

  console.log(color); //ES中, 在外部依然能訪問(wèn)塊級(jí)作用域內(nèi)的變量和函數(shù)

  for (var i=0; i < 10; i++){

  doSomething(i);

  }

  alert(i); //可以訪問(wèn)塊級(jí)作用域內(nèi)的變量,輸出10

  //ES中查詢標(biāo)識(shí)符會(huì)從正在執(zhí)行的局部環(huán)境查找, 如果當(dāng)前局部環(huán)境查找不到, 就會(huì)沿著作用域鏈一級(jí)一級(jí)向上查找. 如果在全局環(huán)境都找不到需要查找的標(biāo)識(shí)符, 說(shuō)明該變量未聲明

  var color = "blue";

  function getColor(){

  return color;

  }

  console.log(getColor()); //這里會(huì)先搜索getColor()內(nèi)部有沒(méi)有color變量, 如果沒(méi)有就向上一級(jí)查找, 直到查找到位置, 這里在上一級(jí)已經(jīng)找到, 所以會(huì)輸出blue

  var color = "blue";

  function getColor(){

  var color = "red";

  return color;

  }

  console.log(getColor()); //red , 同級(jí)找到就不會(huì)再向上查找

  垃圾收集

  標(biāo)記清除

  ES中, 當(dāng)變量進(jìn)入環(huán)境(例如, 在函數(shù)中聲明一個(gè)變量時(shí)), 就把這個(gè)變量標(biāo)記為"進(jìn)入環(huán)境", 這種進(jìn)入環(huán)境的變量從邏輯上講不能釋放其內(nèi)存, 因?yàn)橛锌赡苡玫剿鼈? 而當(dāng)變量離開(kāi)環(huán)境時(shí), 就將其標(biāo)記為"離開(kāi)環(huán)境".

  過(guò)程 :

  垃圾收集器運(yùn)行的時(shí)候會(huì)給儲(chǔ)存在內(nèi)存中的所有變量都加上標(biāo)記(可以使用任意可使用的標(biāo)記方式)

  接著會(huì)去掉環(huán)境中的變量, 以及被環(huán)境中的變量引用的變量的標(biāo)記(個(gè)人理解就是當(dāng)前執(zhí)行環(huán)境的變量以及被環(huán)境中變量引用的變量 的標(biāo)記)

  在此之后再被加上標(biāo)記的變量, 就是被視為準(zhǔn)備刪除的變量(因?yàn)樗鼈冎坝玫臅r(shí)候已經(jīng)被標(biāo)記一次了, 再次(第二次)標(biāo)記說(shuō)明已經(jīng)使用完畢), 環(huán)境中的變量已經(jīng)無(wú)法訪問(wèn)這些變量了

  垃圾收集器完成內(nèi)存清除工作, 銷(xiāo)毀那些帶標(biāo)記的值并回收它們所占用的內(nèi)存空間

  引用計(jì)數(shù)

  引用計(jì)數(shù)的含義是跟蹤記錄每個(gè)值被引用的次數(shù)

  聲明了一個(gè)變量并將一個(gè) 引用類(lèi)型值 賦值給該變量時(shí), 則這個(gè)值的引用次數(shù)就是1

  該 引用類(lèi)型值 又賦值給另一個(gè)變量, 則引用次數(shù)加1

  相反, 如果包含對(duì)這個(gè)值的引用的變量(如 a 變量)又取得了另一個(gè)引用類(lèi)型值, 則前一個(gè)引用類(lèi)型值的引用次數(shù)減1

  當(dāng)這個(gè) 引用類(lèi)型值 的引用次數(shù)變成0時(shí), 則說(shuō)明沒(méi)辦法再訪問(wèn)這個(gè)值了, 因而可以將其回收, 釋放內(nèi)存空間

  該垃圾收集機(jī)制早期的循環(huán)引用問(wèn)題

  function problem(){

  var oA = new Object();

  var oB = new Object();

  //oA與oB通過(guò)各自的屬性互相引用, 在標(biāo)記清除的回收機(jī)制中, 它們的引用次數(shù)永遠(yuǎn)不可能是0, 并且如果這個(gè)函數(shù)重復(fù)多次調(diào)用, 會(huì)導(dǎo)致大量?jī)?nèi)存得不到回收

  //所以這種方式已經(jīng)被摒棄, 而采用標(biāo)記清除來(lái)實(shí)現(xiàn)其垃圾回收

  oA.someOtherObject = oB;

  oB.anotherObject = oA;

  }

  IE中的BOM與DOM使用引用計(jì)數(shù)來(lái)作為垃圾收集機(jī)制的問(wèn)題

  var element = document.getElementById("some_element");

  var myObject = new Object();

  //DOM元素(element)與一個(gè)原生JS對(duì)象(myObject)之間創(chuàng)建了循環(huán)引用

  myObject.element = element; //myObject的element屬性指向element對(duì)象

  element.someObject = myObject; //變量element也有一個(gè)屬性名叫someObject回指myObject

  //基于上述問(wèn)題, 即使將力爭(zhēng)中的DOM從頁(yè)面中移除, 它也永遠(yuǎn)不會(huì)被回收

  //解決方案是在他們不使用時(shí)手動(dòng)斷開(kāi)原生JS對(duì)象與DOM元素之間的鏈接

  //把變量設(shè)置為null意味著斷開(kāi)變量與它之前引用的值之間的鏈接, 當(dāng)下一次的垃圾回收?qǐng)?zhí)行時(shí), 就會(huì)刪除這些值并回收他它們占用的內(nèi)存

  myObject.element = null;

  element.someObject = null;

  //IE9以上已經(jīng)把DOM和BOM轉(zhuǎn)換成了真正的JavaScript對(duì)象, 所以避免了上述問(wèn)題

  性能問(wèn)題及內(nèi)存管理

  性能問(wèn)題

  早期的瀏覽器按內(nèi)存分配量運(yùn)行的, 達(dá)到一個(gè)臨界值就會(huì)觸發(fā)垃圾回收機(jī)制, 這個(gè)問(wèn)題在于, 如果一個(gè)腳本中包含大量的變量, 那么會(huì)在其生命周期也保持有那么多變量, 導(dǎo)致長(zhǎng)時(shí)間處于垃圾回收機(jī)制的臨界值, 從而使垃圾回收機(jī)制頻繁運(yùn)行, 造成嚴(yán)重的性能問(wèn)題.

  新版本的瀏覽器已經(jīng)將其垃圾回收機(jī)制的工作方式改變, 會(huì)動(dòng)態(tài)的調(diào)整觸發(fā)的臨界值.

  內(nèi)存管理

  優(yōu)化內(nèi)存占用的方式, 就是為執(zhí)行中的代碼只保存必要的數(shù)據(jù). 一旦數(shù)據(jù)不再有用, 就通過(guò)將其值設(shè)置為null來(lái)釋放引用 — 即 解除引用

  function createPerson(){

  var localPerson = new Object();

  localPerson.name = name;

  return localPerson;

  }

  var globalPerson = createPerson("Jon");

  //手動(dòng)解除globalPerson的引用

  globalPerson = null;

【javascript知識(shí)點(diǎn)】相關(guān)文章:

物理知識(shí)點(diǎn)11-15

關(guān)于長(zhǎng)城的知識(shí)點(diǎn)10-11

物理知識(shí)點(diǎn)總結(jié)11-18

英語(yǔ)知識(shí)點(diǎn)總結(jié)12-02

高考概率知識(shí)點(diǎn)05-30

師說(shuō)知識(shí)點(diǎn)歸納總結(jié)10-26

物理浮力知識(shí)點(diǎn)總結(jié)03-30

高中關(guān)于復(fù)數(shù)的知識(shí)點(diǎn)11-16

學(xué)習(xí)如何記住知識(shí)點(diǎn)10-11

采薇知識(shí)點(diǎn)總結(jié)08-16