導航:首頁 > 編程語言 > js編程

js編程

發布時間:2022-02-02 14:07:17

㈠ js 編程問題 求解決

<table>
<tr><td></td><td>分數</td><td>等級</td></tr>
<tr><td>數學</td><td><input class=fs /></td><td><input class=dj readonly /></td></tr>
<tr><td>語文</td><td><input class=fs /></td><td><input class=dj readonly /></td></tr>
<tr><td>英語</td><td><input class=fs /></td><td><input class=dj readonly /></td></tr>
<tr><td>總分</td><td><input id=zf readonly /></td><td><input id=zfdj readonly /></td></tr>
</table>
<button id=jsfs>計算</button>
<script>
function djjs(fs){
if(fs>=90)return "優";
if(fs>=75)return "良";
if(fs>=60)return "及格";
return "不及格";
}
window.onload=function(){
jsfs.onclick=function(){
var fs=document.querySelectorAll("input.fs");
var dj=document.querySelectorAll("input.dj");
var fszf=0,djzf="及格";
for(var i=0;i<fs.length;i++){
if(isNaN(fs[i].value)||fs[i].value>100||fs[i].value<0){
alert("輸入的數據有誤!");
return false;
}else{
dj[i].value=djjs(fs[i].value);
fszf+=Number(fs[i].value);
if(fs[i].value<60)djzf="不及格";
}
}
zf.value=fszf;
zfdj.value=djzf;
}
}
</script>

㈡ js是編程語言嗎

js當然是編程語言,是一門腳本型語言,不需要編譯直接可在瀏覽器運行,也可在nodejs運行時環境下運行,可以用於實現web豐富的web界面,也可以用於實現復雜的業務邏輯

㈢ 請問JS編程裡面per=per*-1;這句話什麼意思

把變數per乘以-1的結果再賦值給per。
其實就是改變per的正負號,如果一開始是正數,就變成負數,如果一開始是負數就變成正數,如果一開始是0,結果不變。

㈣ Js編程語言中,什麼叫匿名自我調用函數

匿名函數:就是沒有函數名的函數。
函數的定義,大致可分為三種方式:

第一種:這也是最常規的一種

function double(x){
return 2 * x;
}

第二種:這種方法使用了Function構造函數,把參數列表和函數體都作為字元串,很不方便,不建議使用。

var double = new Function('x', 'return 2 * x;');

第三種:

var double = function(x) { return 2* x; }

注意「=」右邊的函數就是一個匿名函數,創造完畢函數後,又將該函數賦給了變數square。

匿名函數的創建

第一種方式:就是上面所講的定義square函數,這也是最常用的方式之一。

第二種方式:

(function(x, y){
alert(x + y);
})(2, 3);

這里創建了一個匿名函數(在第一個括弧內),第二個括弧用於調用該匿名函數,並傳入參數。括弧是表達式,是表達式就有返回值,所以可以在後面加一對括弧讓它們執行.

自執行的匿名函數

1. 什麼是自執行的匿名函數?

它是指形如這樣的函數: (function {// code})();

2. 疑問

為什麼(function {// code})();可以被執行, 而function {// code}();卻會報錯?

3. 分析

(1). 首先, 要清楚兩者的區別:
(function {// code})是表達式, function {// code}是函數聲明.
(2). 其次, js"預編譯"的特點:
js在"預編譯"階段, 會解釋函數聲明, 但卻會忽略表式.
(3). 當js執行到function() {//code}();時, 由於function() {//code}在"預編譯"階段已經被解釋過, js會跳過function(){//code}, 試圖去執行();, 故會報錯;
當js執行到(function {// code})();時, 由於(function {// code})是表達式, js會去對它求解得到返回值, 由於返回值是一 個函數, 故而遇到();時, 便會被執行.

另外, 函數轉換為表達式的方法並不一定要靠分組操作符(),我們還可以用void操作符,~操作符,!操作符……

如:

!function(){
alert("另類的匿名函數自執行");
}();

匿名函數與閉包

閉包的英文單詞是closure,這是javaScript中非常重要的一部分知識,因為使用閉包可以大大減少我們的代碼量,使我們的代碼看上去更加清晰等等,總之功能十分強大。

閉包的含義:閉包說白了就是函數的嵌套,內層的函數可以使用外層函數的所有變數,即使外層函數已經執行完畢(這點涉及JavaScript作用域鏈)。

function checkClosure(){
var str = 'rain-man';
setTimeout(
function(){ alert(str); } //這是一個匿名函數
, 2000);
}
checkClosure();

這個例子看上去十分的簡單,仔細分析下它的執行過程還是有許多知識點的:checkClosure函數的執行是瞬間的(也許用時只是0.00001毫秒),在checkClosure的函數體內創建了一個變數str,在checkClosure執行完畢之後str並沒有被釋放,這是因為setTimeout內的匿名函數存在這對str的引用。待到2秒後函數體內的匿名函數被執行完畢,str才被釋放。

用閉包來優化代碼:

function forTimeout(x, y){
alert(x + y);
}
function delay(x , y , time){
setTimeout('forTimeout(' + x + ',' + y + ')' , time);
}
/**
* 上面的delay函數十分難以閱讀,也不容易編寫,但如果使用閉包就可以讓代碼更加清晰
* function delay(x , y , time){
* setTimeout(
* function(){
* forTimeout(x , y)
* }
* , time);
* }
*/

匿名函數最大的用途是創建閉包(這是JavaScript語言的特性之一),並且還可以構建命名空間,以減少全局變數的使用。

var oEvent = {};
(function(){
var addEvent = function(){ /*代碼的實現省略了*/ };
function removeEvent(){}

oEvent.addEvent = addEvent;
oEvent.removeEvent = removeEvent;
})();

在這段代碼中函數addEvent和removeEvent都是局部變數,但我們可以通過全局變數oEvent使用它,這就大大減少了全局變數的使用,增強了網頁的安全性。

我們要想使用此段代碼:

oEvent.addEvent(document.getElementById('box') , 'click' , function(){});
var rainman = (function(x , y){
return x + y;
})(2 , 3);
/**
* 也可以寫成下面的形式,因為第一個括弧只是幫助我們閱讀,但是不推薦使用下面這種書寫格式。
* var rainman = function(x , y){
* return x + y;
* }(2 , 3);

在這里我們創建了一個變數rainman,並通過直接調用匿名函數初始化為5,這種小技巧有時十分實用。

var outer = null;
(function(){
var one = 1;
function inner (){
one += 1;
alert(one);
}
outer = inner;
})();
outer(); //2
outer(); //3
outer(); //4

這段代碼中的變數one是一個局部變數(因為它被定義在一個函數之內),因此外部是不可以訪問的。但是這里我們創建了inner函數,inner函數是可以訪問變數one的;又將全局變數outer引用了inner,所以三次調用outer會彈出遞增的結果。

㈤ JS編程問題

初始化時a沒值所以為undefined b賦值5,c沒賦值也為undefined ,然後給a賦值b然後b再自增的所以a為5 b為6,然後再a自減之後賦值給c所以c為4,a也為4。最後就是a=4,b=6,c=4.主要就是要理解自增自減運算符位置不同的差異性 給你一個地址 自己學習了解下網頁鏈接

㈥ js編程中「=」號是等於的意思嗎

=是賦值的意思,比如a=8就是把數值8賦予變數a,c=a就是把變數a的值賦予c
,在編程中==是進行判斷是否相等

㈦ JS編程是什麼意思

js就是JavaScript
一、JavaScript是什麼?
1、JavaScript是在網站瀏覽器上運行的編程語言。
主要是向使用HTML和CSS構建的網站添加,並起到實現各種頁面動態效果的作用。例如,在網頁上展示的輪播圖樣式和在咨詢平台上輸入的內容錯誤後顯示的提示信息等這樣的效果。另外針對商城網站裡面購買商品時,使用購物車和費用估算也需要用到JavaScript。所以即使它不怎麼明顯,但依然是編碼人員經常會用到的一種語言。
2、JavaScript是一種多功能的開發語言。
除了向網頁添加動作的用處之外,JavaScript還可以用來實現很多其他的功能。比如它能夠開發出各種網站應用程序,如「聊天工具」和「貨幣圖表」等,可以實時進行修改,這也是JavaScript的主要魅力之一。
二、JavaScript的特點有哪些?
1、腳本語言。JavaScript是一種解釋型的腳本語言,C、C++等語言先編譯後執行,而JavaScript是在程序的運行過程中逐行進行解釋。
2、基於對象。JavaScript是一種基於對象的腳本語言,它不僅可以創建對象,也能使用現有的對象。
3、簡單。JavaScript語言中採用的是弱類型的變數類型,對使用的數據類型未做出嚴格的要求,是基於Java基本語句和控制的腳本語言,其設計簡單緊湊。
4、動態性。JavaScript是一種採用事件驅動的腳本語言,它不需要經過Web伺服器就可以對用戶的輸入做出響應。在訪問一個網頁時,滑鼠在網頁中進行滑鼠點擊或上下移、窗口移動等操作JavaScript都可直接對這些事件給出相應的響應。
5、跨平台性。JavaScript腳本語言不依賴於操作系統,僅需要瀏覽器的支持。因此一個JavaScript腳本在編寫後可以帶到任意機器上使用,前提上機器上的瀏覽器支持JavaScript腳本語言,目前JavaScript已被大多數的瀏覽器所支持。

㈧ js編程:為什麼i不是012呢

從你給的代碼來看,這個代碼只顯示3,而不會顯示0、1、2,這是由於alert是放在{}外面,而不是在裡面,如果要顯示0、1、2,代碼要這樣寫:

<scripttype="text/javascript">
functiontest()
{
for(vari=0;i<3;i++){alert(i);}
//alert(i);
}
</script>

如果要顯示3,代碼就像你那樣寫:

<scripttype="text/javascript">
functiontest()
{
for(vari=0;i<3;i++){}
alert(i);
}
</script>

㈨ 下面是Js編程語言中一段話!如何理解下面話能否舉例說明一下

` 類似於 去餐館吃飯, 在菜沒上齊之前 你可以說:"再加一個燒茄子", "再來個燉魚頭",等等, 等服務員說 "您的菜上齊了,請慢用", 您說"再來個米飯", 服務員就會把之前上的菜全部拿走, 只端來"一碗米飯";
因為文檔在載入的過程中實際上就是一邊載入一邊用document.write寫出內容到屏幕上,而一旦載入完成這個寫入流就會被關閉。此時如果你再調用document.write往網頁上寫入內容的話他會先把已經寫入的內容全部清空然後再重新打開寫入流用以寫入你寫入的內容。
總結來說就是document.write只要是在onload函數之前調用的都會接著當前內容直接寫入,否則會清空當前流再重開寫入流寫入。 這個 onload 事件 就是 "您的菜上齊了"的標志 一旦這個事件產生了, 再調用document.write 就會再次載入整個document, 之前載入的會清除

閱讀全文

與js編程相關的資料

熱點內容
git伺服器如何啟動 瀏覽:39
noi演算法 瀏覽:459
zip解壓縮是電腦自帶的嗎 瀏覽:643
魔術演算法術嗎 瀏覽:783
復式五肖演算法 瀏覽:721
海康威視設備已加密 瀏覽:663
自適應路由演算法 瀏覽:315
pythonxlwt寫入一列 瀏覽:995
性之助app哪裡可以下載 瀏覽:414
安卓如何自己改圖標 瀏覽:848
如何去掉app資源庫的建議 瀏覽:730
中興研發面試要寫演算法嗎 瀏覽:65
linux系統配置文件 瀏覽:601
php登錄網頁模板 瀏覽:931
windownginxphp 瀏覽:509
resync命令 瀏覽:536
dos命令手冊 瀏覽:287
矽谷編程二維數組 瀏覽:41
inside游戲什麼時候移植安卓 瀏覽:944
極光安卓是什麼 瀏覽:541