本文目錄一覽:
- 1、javascript函數
- 2、javascript怎麼定義函數
- 3、javascript函數問題
- 4、如何正確學習JavaScript
- 5、JavaScript函數
- 6、零基礎JavaScript學習路徑?
javascript函數
script language=”javascript”
function setb(){
document.getElementById(“textarea”).pos.text=”[B][/B]”;
}
/script
from
TEXTAREA id=”textarea” ONSELECT=”this.pos=document.selection.createRange();” onCLICK=”this.pos=document.selection.createRange();” onKEYUP=”this.pos=document.selection.createRange();”1234567/TEXTAREA
INPUT TYPE=”button” onCLICK=”setb()” value=”xxx”
/FORM
已測試過…
javascript怎麼定義函數
1:調用關鍵字function來構造
function distance(x1,x2,y1,y2)
{
var dx=x2-x1;
var dy=y2-y1;
return Math.sqrt(dx*dx+dy*dy);
}
2:使用Function()構造函數(請注意與上面的大小寫)
1
var f=new Function*”x”,”y”,”return x*y”);
這行代碼創建了一個新函數,該函數和你所熟悉的語法定義的函數基本上時等價的:
1
2
3
4
function f(x,y)
{
return x*y;
}
Functino()構造函數可以接受任意多個字符串參數。它的最後一個參數時函數的主體,其中可以包含任何JavaScript語句,語句之間用分號分隔。其他的參數都是用來說明函數要定義的形式參數名的字符串。如果你定義的函數沒有參數,那麼可以只需給構造函數傳遞一個字符串(即函數的主體)即可。
注意,傳遞給構造函數Function()的參數中沒有一個用於說明它要創建的函數名。用Function()構造函數創建的未命名函數有時被成為“匿名函數”。
你可能非常想知道Function()構造函數的用途是什麼。為什麼不能只用function語句來定義所有的函數呢?原因是Function()構造函數允許我們動態地建立和編譯一個函數,它不會將我們限制在function語句預編譯的函數體中。這樣做帶來的負面影響效應就是每次調用一個函數時,Function()構造函數都要對它進行編譯。因此,在循環體中或者在經常使用的函數中,我們不應該頻繁地調用這個構造函數。
使用Function()構造函數的另一個原因是它能夠將函數定義為JavaScript表達式的一部分,而不是將其定義一個語句,這種情況下使用它就顯得比較的方面,甚至可以說精緻。
3:函數直接量
函數直接量是一個表達式,它可以定義匿名函數。函數直接量的語法和function語句非常相似,只不過它被用作表達式,而不是用作語句,而且也無需指定函數名。下面的三行代碼分別使用function()語句、Funciont()構造函數和函數直接量定義了三個基本上相同的函數:
1
2
3
function f(x){return x*x};
var f=new Function(“x”,”return x*x;”);
var f=function(x){reurn x*x};
在JavaScript1.1中,可以使用構造函數Function()來定義函數,在JavaScript1.2和其後的版本中,還可以使用函數直接量來構造函數。你應該注意這兩種方法之間的重要差別。
首先,構造函數Function()允許在運行時動態地創建和編譯JavaScript代碼。但是函數直接量卻是函數結構的一個靜態部分,就像function語句一樣。
其次,作為第一個差別的必然結果,每次調用構造函數Function()時都會解析函數體並且創建一個新東漢數對象。如果對構造函數的調用出現在一個循環中,或者出現在一個經常被調用的函數中,這種方法的效率非常低。另一個方面,函數直接量或出現在循環和函數中的嵌套函數不是在每次調用時都被重新編譯,而且每當遇到一個函數直接量時也不創建一個新的函數對象。
Function()構造函數和函數之間量之間的第三點差別是,使用構造函數Function()創建的函數不使用詞法作用域,相反的,它們總是被當作頂級函數來編譯,就像下面代碼所說明的那樣:
javascript函數問題
區別在
var sum=function()
要先定義才能調用,要放在調用前面
function sum()不用放在調用前面
比如
sum=function()順序一定是這樣
var sum=function(){
…
};
sum();
而function sum()放前面或者後面都可以
sum();
function sum(){
…
};
如何正確學習JavaScript
JavaScript作為網站前端的核心知識是非常重要的,但是如何學習JavaScript是很多初學者面對的一個難題,下面我說一下個人對於如何學習JavaScript的一點心得,希望能幫到大家。
1、首先學習基礎,尤其是JavaScript與其他語言不同的基礎知識。
學習每個編程語言可能都要從基礎的變量函數結構等學起,JavaScript相對於其他的編程語言在基礎上有一些比較有特點的地方,這些東西是尤其需要我們注意的,比如說自調函數、比如說變量值為空不是null而是undefined的等,這些東西都是和主流的編程的語言如c++、java等是有區別的,所以想要學好JavaScript,這些基礎的知識一定要把握好學習好才行。
2、關於學習JavaScript的進階
JavaScript進階知識更是有很多難理解的東西和不同於其他語言的東西,這些東西都是深入學習JavaScript的難點,簡單的說一下JavaScript是基於對象的瀏覽器腳本語言,但是為了使JavaScript也能夠支持面向對象編程,人們就使用了很多的方法來模擬面向對象的的特點,這些就變成了JavaScript的一些難點,比如說JavaScript的繼承要藉助原型、比如JavaScript的類需要使用構造函數來構造一個對象等,這些東西都是和其他支持面向對象的語言是不同的,所以就導致了一些難點。關於進階學習JavaScript,還有JavaScript一些深入的知識需要去理解比如原型鏈和閉包、比如收函數的作用域執行流程和上下文,這些東西都是JavaScript比較深入的知識、
最後說明,JavaScript作為前端的核心語言絕對沒有沒有想象的那麼簡單,要想學好JavaScript除了以上提到的知識和注意點,還需要的就是多動手和實踐,我們都知道網頁上的所有特效都是藉助JavaScript來實現,那麼我們就需要在學習JavaScript的過程中多使用原生的JavaScript代碼實現一些特效,當然學習使用jQuery等JavaScript類庫進行開發也十分的重要,但是這絕對不能是取代我們學習JavaScript的方法。
JavaScript函數
var n=10;
var arr=new Array(n);
for(var i=0;in;i++){
arr[i]=Math.floor(Math.random()*20)-10;
}
for(var i=0;iarr.length;i++){
if(arr[i]0){
document.write(“正數br /”);
}else if(arr[i]0){
document.write(“負數br /”);
}else{
document.write(“零br /”);
}
}
零基礎JavaScript學習路徑?
開發環境越簡單越好,一定不要在這個環節浪費時間。
首先說編輯器的選擇,sublime text、vs code、atom、webstorm,還有HBuilder。新手入門的時候總想找一個最好的編輯器,其實這編輯器就和遊戲裡面選英雄一樣,沒有最厲害的,只有最適合你的,如果還是拿不定注意,就選vs code吧,我感覺這個對新手挺友好的。
瀏覽器就用chrome,然後就可以開始擼代碼了。
關於JavaScript版本,我建議還是從ES5開始學,有一定基礎之後再來看ES2015+的新特性。
基本語法
學編程語言和學自然語言有很多相似的地方,我們得從最基本的單詞和語法開始學。
變量:如何聲明變量,如何給變量賦值。
數據類型:什麼是數據類型,數字與字符串有什麼區別。
運算符與表達式:常用的運算符有哪些?“=”、“==”與“===”的區別等等。
分支語句:if、switch
循環語句:for、while
函數:什麼是函數,什麼是參數,什麼是返回值。
這些基本語法一定要非常熟悉,要不然後續的學習會舉步維艱。
對象
對象是一個非常重要的概念,一定要靈活掌握:
對象:屬性的無序集合,當屬性值為函數的時候,我們叫這個函數為對象的方法。
數組:元素的有序集合。了解數組的常用方法
日期對象:獲取年月日時分秒
數學對象:獲取隨機數
了解其他對象:正則表達式、包裝對象,其實函數也是對象,不過這些簡單了解一下就行。
每個對象都有很多方法,這些方法知道在哪裡查就行了,千萬不要去背,就像我們學英語,必要的單詞要背,但是大部分單詞知道用詞典查就行了。
DOM
DOM的樹狀結構
節點:元素節點、文本節點、屬性節點
節點關係:同級、父子級等等
獲取節點:querySelector、querySelectorAll等等
節點操作:增刪改查
事件綁定:事件流和事件委託應該了解一下
DOM提供的方法也很多,仍然不要過多的投入精力,新手自學總是會被這些大量的方法困擾,我們要做的是對DOM有一個概括性的了解,至於那些雜亂的接口,後續我們完全可以用jQuery或框架代替。
(如果對DOM感興趣,可以在技能掌握得稍微全面一些之後,再回來深入學習也是可以的,但是前期投入大量時間,確實會影響學習效率)
jQuery
jQuery是必須要會的,但是jQuery上手確實很簡單,用兩天時間了解一下jQuery的用法,然後就可以利用jQuery實現各種頁面效果了,前期肯定會磕磕絆絆,但是jQuery的資料有很多,一邊學一邊做就行。jQuery熟練了之後,就可以開始着手學習JavaScript進階一點的內容了:
原始類型與引用類型的區別
各種類型轉換和類型檢測
閉包:函數套函數,怎麼套自己都不蒙就行了。
原型:構造函數、原型屬性、基於原型的繼承是怎麼實現的。
this:可以開個坑好好研究研究
了解node
node現在可以說是前端必學的了,但是不是學用node做後台,而是用node生態下的各種工具,順便借node了解一下後台。
使用node開一個靜態服務器
使用npm下載第三方模塊
webpack
babel
最好能用express寫一個簡單的後台程序(一個server.js就夠了),處理一些請求,這樣我們學習ajax的時候就可以自己寫後台接口了,當然這需要有http協議的基礎知識。
ES2+新特性
變量和常量:為什麼要拋棄var?
結構賦值
箭頭函數
模塊化
class
編譯
像promise,async/await函數等等這些,看自己能力了,有興趣看看,不看也不影響後面學習,但是,就算現在不學,這個後續也是要補的。
框架
react、vue選一,零基礎的初學者強烈推薦vue,如果技術型前端,推薦react。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/150437.html