搜尋
首頁web前端js教程總結JavaScript中常用的知識點

總結JavaScript中常用的知識點

Jun 24, 2017 pm 02:36 PM
javascriptjs總結知識點

一.Javascript的含义

是一种解释性的语言,主要给网页添加各色各样的动态功能,同时为用户提供浏览效果。

二.JavaScript的主要特点

1. 简单性2. 动态性3. 安全性4. 跨平台性

三.JavaScript的组成

1. ECMAScript :描述语言的语法和基本对象2. BOM:描述网页内容的方法和接口3. DOM:描述与浏览器进行交互的方法和接口

四.JavaScript的三种引入方式

1.标签内引入
2.内部引入
3.外部引入

五.javaScript语法的基本要求

1.按照顺序依次执行2.严格区分的大小写3.javascript中的结束分号不能省略4.javascript中会忽略空白符和换行符

六. JavaScript常用的调试方法

1.alert()

2.confirm();

3.prompt();

4.console.log();

5.document.write()

七.表示符的使用规则

1.只用用数字、字母、下划线、$2.不能使用数字开头3.区分大小写4.不能用关键字5. 驼峰命名法

八.javaScript中常见的数据类型

1.Number2.Boolean3.undefined4.Null5.String6.Object

九. 算术运算符

+、-、*、/、%。

1.+ 运算符:运算规则

* 如果两个都是Number则,则就按照普通的数学加法运算。

* 如果有一个是字符串,就按照字符串的串联的方式连接。(如果另外一个不是字符串,则先转换成字符串再连)。
* 如果有一个是NaN,则结果就是NaN。
*如果同时是Infinity或-Infinity,则结果就是Infinity或-Infinity。
* 如果一个是Infinity另外一个是-Infinity,则结果为NaN。2.- 运算符:运算符规则

- 如果两个都是Number则,则就按照普通的数学减法运算。
- 如果有一个操作数是字符串、布尔值、null 或undefined,则先在后台调用Number()转型函数将其转换为数值,然后再根据正常减法计算。如果转换的结果有一个是NaN,则减法的结果就是NaN
* 如果有一个操作数是对象,则调用对象的valueOf()方法以取得表示该对象的数值。如果得到的值是NaN,则减法的结果就是NaN。如果对象没有valueOf()方法,则调用其toString()方法并将得到的字符串转换为数值(了解)3.* 运算符:运算符规则。

- 运算规则同减法。1. / 运算符:运算规则

- 就是普通的除法运算,运算规则同 *4. %运算符:运算规则

- 求余(求模)运算。

十.javaScript中常见的运算符

1.逻辑与  (  只要有一个是false,则返回false)2.逻辑或   (只要有一个是true,结果就是true)3.逻辑非    (先转换成Boolean值,再取反得到最终的结果)###   &&()和|| 的结果总结:1. 如果第一个能够决定结果,则结果就是第一个表达式的值2. 如果第一个不能决定结果,则结果就是第二个表达式的值

十一.JavaScript中的判断语句

1.if语句

>##### 语法:if(condition){  //语句1
}2.if...else语句

>##### 语法:if(condition){  //语句1
}

else{  //语句2
}3.    if...else if...elsif... 语句

>##### 语法:if(condition1){  //语句1
}

else if(condition2){  //语句2
}

...

else if(condition3){  //语句n
}4.if...else if...else ...else语句

>#####  语法:if(condition1){  //语句1
}

else if(condition2){  //语句2
}

...

else if(condition3){  //语句n
}

else{  //else语句
}5. switch条件语句

>##### 语法:
switch (expression) {  case value1: //语句1
  break;  case value2: //语句2
  break;  case value3: //语句3
  break;  case value4: //语句4
  break;

  default: 

}

十二.JavaScript中的循环结构

1.for循环

语法:
for(表达式1; 表达式2; 表达式3){      //循环体
}

>注意:

- 3个表达式的都可以省略。
- 对表达式1和表达式3省略,对for循环没有任何影响,只是少执行了代码而已。
- 如果表达式2省略,表示此处为true,那么这个循环就是死循环。 
- 如果第一次检查表达式2的时候就是false,则循环体内的代码可能一次也不执行。


2.while循环

语法:while(condition){   }

>注意:

- condition不能省略。如果省略为语法错误
- while循环也有可能一次也不执行。


3. do...while循环

语法:  do{  //循环体}while(condition);

>注意:

- condition条件不能省略,省略语法错误。
- 由于先执行在判断,所以,对do...while 循环来说,循环体至少执行一次。

十三. javaScript中的两个特殊控制语句

1.break语句
作用:在循环体中,break会提前结束循环

>例如:for(var i=0;i<6;i++){if(i==5){break;
    }
    console.log(i);
}2.continue语句
作用:在循环体中,continue会结束本次循环,不会执行剩余的代码,不过会继续执行它外层的循环
>例如:for(var i=0 i<10;i++){if(i==6){continue;
    }

}

十四.自定义函数


1.函数的声明

语法:

function 函数名(形式参数1, 形式参数2, ...){
//函数体
}

例如:

function mer(a,b,c){
var m=a+b;
}

2.函数的调用

语法:

方法名(实参1,实参2);
例如:
function mer(m,n){
var m=n;
}
alert(mer(10));

3.函数的命名规范

十五.变量的作用域


##### 1.全局变量

定义: 在函数外部声明的变量

例如:

    var m=13;

    alert(m);

##### 2.局部变量

定义: 在函数体内部声明的变量

>例如:

  function f(){
      var m="234";
      alert(m);
  }

##### 3.匿名函数1.定义:没有声明函数名的函数
>例如:
var m=function(){
    alert("Hello world");
}
m();2.注意点:
* 匿名函数除了没有函数名以外,与其他函数没有任何区别
* 如果想要在其他地方调用该函数,则需要先声明一个变量,并把该函数的值赋值给声明的变量
* 可以将变量名做为函数名调用3.匿名函数的作用

* 可以将函数表达式存储在变量中
* 可以将匿名函数当作参数来传递

##### 4.匿名函数的立即执行1.语法:
* (function(){
    alert("立即执行");
}());2.注意点:
* 要把匿名函数用一对圆括号括起来,作为一个整体看
* 在函数的最后面添加一对圆括号来表示调用函数3.函数递归调用1. 定义:
  在函数的内部调用当前的函数2. 需要满足的条件
* 要有结束条件
* 递归不能无限的递归下去,否则会溢出。3. 总结:
   函数的调用原理与数据结构栈的实现是一致的。

十六.JavaScript中数组的特点

1.数组的长度是可以动态改变的
2.在同一个数组中可以存储不同的数据类型
3.每一个数组中都有一个 length的属性,表示的是数组中元素的个数

十七.数组的创建

  1. 数组中的两种基本创建方式

    1.字面量的方式

    例如:["a", 5, "b",8]

2.构造函数

例如: new Array(数组长度);

注意点:
  • 在构造函数创建数组对象时,最后一个元素后面不需要添加逗号

  • 在构造函数中只传入一个Number值,这个值一定要大于 0

  • 在构造函数创建数组对象时,new关键字可以省略

3.修改和访问数组中的元素

例如:

 var arr=[10,20,30,40,50,60];

 alert(arr[0]);

 arr[3]=100;
4.数组中的长度

例如:

var arr = [10, 20, 60, 5, 7];

alert(arr.length);

十八.数组的遍历


1.遍历数组的方法
* 普通的for循环
* for...in
* for each
* for... of
2.普通for循环的遍历

例如:

 var arr=[20,30,50,60,78];

 for (var i=0;i<arr.length;i++){

     console.log(arr[i]);
 }
3.for ...in循环的遍历

例如:

var arr=[50,30,60,12,45];

for (var index in arr){

    console.log(arr);
}
##### 注意:

for...in遍历数组时,遍历出来的是数组的下标

4.for each方法的遍历

例如:

  var arr=[23,4,56,7,80];

  arr.forEach(function(ele,index){

      alert(ele);

  });

十九.javaScript中数组的常用方法


1.转换方法:

toString()

作用:返回由数组中每个值得字符串形式拼接而成的一个以逗号分割的字符串

例如:

  var arr=[2,3,45,6,78];
  alert(arr.toString());
2.join()方法

作用:可以使用指定的连接符连接

例如:
var arr = [50, 20, 10, 5, 15, 6];

alert(arr.join("="));

二十.JavaScript中站的方法


1.入栈 ( push() )

作用:把新的元素添加到数组的后面

2.出栈 ( pop() )

作用:把数组中的最后一个元素从数组中移除

例如:

var arr=[2,3,4,5,67];var num=arr.push("100");var hom=arr.pop();

alert(num);

alert(hom);
3.队列方法

1.shift()

作用:从队列中的头部移除元素

2.unshift()

作用:向队列尾部添加元素

例如:

var arr=[23,45,67];var num=arr.shift();var bak=arr.unshift();

alert(num);

alert(bak);
4.数组中的倒序

reverse():

作用:将数组中的元素进行倒序

例如:
var arr=[34,56,7,9];
arr.reverse();
alert(arr);

5.javaScript中查找指定元素在数组中的索引
1. indexOf(item,num)

作用:从num的位置开始向后查找item第一次出现的位置

2.lastIndex(item,num)

作用:从num的位置开始向前查找item第一次出现的位置

例如:

var arr=[2,3,5,3,6,2,8,8];

alert(indexOf("2",2);

alert(lastIndeOf("3",4);
6.获取新的数组
1.concat(arrayX,arrayX,......,arrayX)

作用:用于连接多个数组,并且不会对原数组做任何的改变

例如:

 var arr=[2,34,56]; var arr1=[87,65,43]; var newArr=arr.concat(arr1);

 alert(newArr);
2. slice(start,end)方法

作用:截取数组,并且返回结渠道的新数组

例如:

var arr=["a","s","d","f","g"];

var arr1.slice(0,3);

alert(arr1);
3.splice(index,howmany,item1,.....,itemX) 方法

作用:向数组中添加元素,删除元素,替换元素

例如:

var arr=[2,3,4,"as",d,f];

var num= arr.splice(1,3);

alert(num);

var num1=arr.splice(1,0,"m","n");

alert(num1);

var num2=arr.splice(1,2,"2","3");

alert(num2);

二十一.javaScript中数组的检测

1.instanceof运算符

作用:会返回一个Boolean值,指出对象是否是特定构造函数的一个实例

例如:

var arr = [];

alert(arr instanceof Array);

2.Array.isArray()方法

作用:判断一个变量是不是数组,是则返回true,否则返回false

例如:
var arr = [];
alert(Array.isArray(arr))

二十二. JavaScript中字符串的操作

1.注意:

javaScript中字符串是不可变的,需要创建一个新的字符串

2. 字符串的创建
  • 字符串直接量

    例如:

var s = "good";

alert(typeof s);

  • 通过String()转换函数

    ==例如:==

var s = String(123);

alert(typeof s);

二十三.JavaScript中字符串常见的方法


##### 1.s.charAt(index)
作用:返回的是指定位置的字符
>例如:

var s = "a你好bcd";

alert(s.charAt(0));
##### 2.s.charCodeAt(index)
作用:返回指定位置的字符的 Unicode 编码
>例如:

var s = "a你好bcd";

alert(s.charCodeAt(0));

##### 3.字符串连接方法
###### 1.s.concat(stringX,stringX,...,stringX) 
* 作用:用于连接两个或者多个字符

* 注意:1.并不会改变原字符串2.可以使用字符串连接符(+)

>例如:

var s = "你好";

alert(s.concat("啊", "凌源"));

##### 4.查找子字符串出现的位置
###### 1. s.indexOf(searchvalue,fromindex)
作用:可以返回某个指定的字符串值在字符串中首次出现的位置

>例如:

var v = "abcabdefgh";

alert(s.indexOf("ab"));
###### 2.s.lastIndexOf(searchvalue,fromindex)
作用:可以返回一个指定的字符串值最后出现的位置,在一个字符串中的指定位置从后向前搜索
>例如:

var s = "abcabcdab";

alert(s.lastIndexOf("ab"));

##### 5.js字符串的截取
###### 1.s.substring(start,stop) 方法
作用:用于提取字符串中介于两个指定下标之间的字符
>例如:

var s="asdfghj";

alert (s.substring(1));

###### 2.s.substr(start, length) 方法
作用:可以在字符串中抽取从start下标开始的指定数目的字符
>例如:

var s="asdfghj";

alert (s.substr(1));
###### 3.s.slice(start,end) 方法
作用:可以提取字符串的某个部分,并且以新的字符串返回被提取的部分
>例如:

var s="asdfghj";

alert (s.slice(1,3));

##### 6.大小写转换方法
###### 1.s.toUpperCase
作用:字符串中所有的字符转变成为大写
>例如:
var s = "abcAbc";

alert(s.toUpperCase());
###### 2.s.toLowerCase

作用:字符串中的所有的字符转变成小写
>例如:

var s = "ABcAbc";

alert(s.toLowerCase());

##### 7.去除字符串首尾空白字符
s.trim() : 
作用;只是去除字符串的首尾的所有空白字符.  字符串内部的空白字符不做任何处理
>例如:

var s = " \n \t ABc   Abc   \t \n \t";

alert(s.trim());

##### 8.字符串替换、匹配、搜索方法
###### 1. s.replace(regexp/substr,replacement)方法

作用:用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串。
>例如:

var s = "abcaba";

var newStr = s.replace("ab", "js");

alert(newStr);
###### 2. s.match(匹配值)
作用:在字符串内检索指定的值
>例如:

var s = "abcaba";

var arr = s.match("ab");

alert(arr);

######  3.s.search(匹配的参数)

作用:始终从字符串的头部开始查找
>例如:

var s = "abcaba";

var arr = s.search("ab");

alert(arr);
##### 9.字符串比较
* ==    比较两个字符串的==内容==是否相等
* === 恒等    只有类型和内容都相等的时候才返回true

##### * s.localeCompare(other):
 - 如果字符串在字母表中应该排在字符串参数之前,则返回一个负值;
- 如果字符串的等于字符串参数,返回0;
- 如果字符串在字母表中应该排在字符串参数之后,则返回一个正数;

##### 10.字符串切割方法
s.split(separator,howmany)方法

作用:用于把一个字符串分割成字符串数组。
>例如:
var s = "How do you do";

var arr = s.split(" ");

alert(arr);

二十四.JavaScript中Math对象

1.常用属性
  • Math.PI : π的值

  • Math.E: 自然对数的底数

2.Math对象常用方法
  • Math.abs(x) : 返回x的绝对值

  • Math.max(任意个数值) :返回传入的数值中的最大值

  • Math.min(任意个数值) :返回传入的数值中的最小值

  • Math.ceil(number) : 返回大于等于number的最小整数(向上取整)

  • Math.floor(number) : 返回小于等于number的最大整数(向下取整)

  • Math.round(number): 四舍五入

  • Math.pow(x, y) : 返回 x^y

  • Math.random() : 返回 0-1之间的随机小数

  • Math.sin(x) 正弦, Math.cos(x) 余弦, Math.tan(x) 正切

二十五.BOM核心---window对象


1. 获取全局变量的方式
  • this

  • window.age

*window.sagAge()

例如:

 var num=24; function sagAge(){

     alert(this.num);

 }
 alert(window.age); window.sagAge();
2. window窗口大小

==获取浏览器窗口大小==

1.在Internet Explorer(9+)、Chrome、Firefox、Opera 以及 Safari
  window.innerHeight - 浏览器窗口的内部高度  window.innerWidth  -  浏览器窗口的内部宽度
2. 针对于 Internet Explorer 8、7、6、5
 document.documentEelement.clentWidth document.documentEelement.clentWidth
3.为了兼容浏览器的版本可以使用下面的代码
 var w=window.innerWidth || documentEelement.clentWidht; var h=window.innerHeight || documentEelemlent.clentHeight;
3.调整窗口大小
  • window.resize(w,h): 调整到指定的大小

  • resizeBy(deltW, deltH): 增加指定窗口的宽和高

    例如:

    <button>将窗口调整到指定大小</button>
    <br>
    <button>宽和高增加的像素</button>
    <script>
        function to () {
            alert("我要缩小了");
            window.resizeTo(200, 300);
        }
        function by () {
             alert("我开始增大了");
             window.resizeBy(30, 30);
        }
    </script>

二十六. window中的定时器

1.window对象中定时器的功能方法
  • 超时调用 setTimeout()

例如:

/*
    setTimeout(code,millisec)
    参数1:要执行代码。一般传入一个函数。(当然也可是字符串形式的代码,但是不建议使用)
    参数2:多长时间后执行参数1中的代码。  单位毫秒
*/<script type="text/javascript">  //传入函数的时,函数名不要加括号。(因为方法不是我们调用,是引擎帮助我们调用)      // setTimeout方法会返回一个值,表示超时调用的id,可以在任务执行前取消任务。var timeOutId = window.setTimeout(go, 3000);  // 3秒中之后执行函数go中的代码function go () {          window.open("http://www.yztcedu.com")
    }    window.clearTimeout(this.timerId);  //取消这个超时调用,如果超时调用已经执行完毕,就什么也不会发生。</script>
  • 周期调用 setInterval()

    例如:

<code class="xml">/*
    setInterval(code,millisec)
    参数1:每隔一段时间执行一次的代码。  一般是一个函数
    参数2:周期性执行的时间间隔。  单位毫秒

*/<span class="hljs-tag"><<span class="hljs-name">body><span class="hljs-tag"><<span class="hljs-name">h1 <span class="hljs-attr">id=<span class="hljs-string">"time"><span class="hljs-tag"></<span class="hljs-name">h1><span class="hljs-tag"><<span class="hljs-name">script <span class="hljs-attr">type=<span class="hljs-string">"text/javascript"><span class="javascript">  <span class="hljs-comment">//显示时间,每秒钟变化一次。<span class="hljs-built_in">window.setInterval(<span class="hljs-function"><span class="hljs-keyword">function(<span class="hljs-params">) {<span class="hljs-keyword">var timeElement = <span class="hljs-built_in">document.getElementById(<span class="hljs-string">"time");    <span class="hljs-comment">//找到h1标签<span class="hljs-keyword">var msg = <span class="hljs-keyword">new <span class="hljs-built_in">Date().toLocaleString();
            timeElement.innerHTML = msg;    <span class="hljs-comment">//设置h1标签中的值
        }, <span class="hljs-number">1000);<span class="hljs-tag"></<span class="hljs-name">script><span class="hljs-tag"></<span class="hljs-name">body>
    //清除间隔定时器
    window.clearInterval(id);</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></code><br/><br/>

 

学习过程中遇到什么问题或者想获取学习资源的话,欢迎加入学习交流群

以上是總結JavaScript中常用的知識點的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
Python vs. JavaScript:開發人員的比較分析Python vs. JavaScript:開發人員的比較分析May 09, 2025 am 12:22 AM

Python和JavaScript的主要區別在於類型系統和應用場景。 1.Python使用動態類型,適合科學計算和數據分析。 2.JavaScript採用弱類型,廣泛用於前端和全棧開發。兩者在異步編程和性能優化上各有優勢,選擇時應根據項目需求決定。

Python vs. JavaScript:選擇合適的工具Python vs. JavaScript:選擇合適的工具May 08, 2025 am 12:10 AM

選擇Python還是JavaScript取決於項目類型:1)數據科學和自動化任務選擇Python;2)前端和全棧開發選擇JavaScript。 Python因其在數據處理和自動化方面的強大庫而備受青睞,而JavaScript則因其在網頁交互和全棧開發中的優勢而不可或缺。

Python和JavaScript:了解每個的優勢Python和JavaScript:了解每個的優勢May 06, 2025 am 12:15 AM

Python和JavaScript各有優勢,選擇取決於項目需求和個人偏好。 1.Python易學,語法簡潔,適用於數據科學和後端開發,但執行速度較慢。 2.JavaScript在前端開發中無處不在,異步編程能力強,Node.js使其適用於全棧開發,但語法可能複雜且易出錯。

JavaScript的核心:它是在C還是C上構建的?JavaScript的核心:它是在C還是C上構建的?May 05, 2025 am 12:07 AM

javascriptisnotbuiltoncorc; sanInterpretedlanguagethatrunsonenginesoftenwritteninc.1)JavascriptwasdesignedAsignedAsalightWeight,drackendedlanguageforwebbrowsers.2)Enginesevolvedfromsimpleterterpretpretpretpretpreterterpretpretpretpretpretpretpretpretpretcompilerers,典型地,替代品。

JavaScript應用程序:從前端到後端JavaScript應用程序:從前端到後端May 04, 2025 am 12:12 AM

JavaScript可用於前端和後端開發。前端通過DOM操作增強用戶體驗,後端通過Node.js處理服務器任務。 1.前端示例:改變網頁文本內容。 2.後端示例:創建Node.js服務器。

Python vs. JavaScript:您應該學到哪種語言?Python vs. JavaScript:您應該學到哪種語言?May 03, 2025 am 12:10 AM

選擇Python還是JavaScript應基於職業發展、學習曲線和生態系統:1)職業發展:Python適合數據科學和後端開發,JavaScript適合前端和全棧開發。 2)學習曲線:Python語法簡潔,適合初學者;JavaScript語法靈活。 3)生態系統:Python有豐富的科學計算庫,JavaScript有強大的前端框架。

JavaScript框架:為現代網絡開發提供動力JavaScript框架:為現代網絡開發提供動力May 02, 2025 am 12:04 AM

JavaScript框架的強大之處在於簡化開發、提升用戶體驗和應用性能。選擇框架時應考慮:1.項目規模和復雜度,2.團隊經驗,3.生態系統和社區支持。

JavaScript,C和瀏覽器之間的關係JavaScript,C和瀏覽器之間的關係May 01, 2025 am 12:06 AM

引言我知道你可能會覺得奇怪,JavaScript、C 和瀏覽器之間到底有什麼關係?它們之間看似毫無關聯,但實際上,它們在現代網絡開發中扮演著非常重要的角色。今天我們就來深入探討一下這三者之間的緊密聯繫。通過這篇文章,你將了解到JavaScript如何在瀏覽器中運行,C 在瀏覽器引擎中的作用,以及它們如何共同推動網頁的渲染和交互。 JavaScript與瀏覽器的關係我們都知道,JavaScript是前端開發的核心語言,它直接在瀏覽器中運行,讓網頁變得生動有趣。你是否曾經想過,為什麼JavaScr

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

SublimeText3 英文版

SublimeText3 英文版

推薦:為Win版本,支援程式碼提示!

EditPlus 中文破解版

EditPlus 中文破解版

體積小,語法高亮,不支援程式碼提示功能

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強大的PHP整合開發環境

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser是一個安全的瀏覽器環境,安全地進行線上考試。該軟體將任何電腦變成一個安全的工作站。它控制對任何實用工具的訪問,並防止學生使用未經授權的資源。

VSCode Windows 64位元 下載

VSCode Windows 64位元 下載

微軟推出的免費、功能強大的一款IDE編輯器