本文目錄一覽:
Javascript學習筆記 delete運算符
一、語法
delete後面的表達式必須給出一個屬性的引用,比如
var
o
=
{a:1};
delete
o.a;
//此處o.a是對象o的屬性a的引用
只有在with語句里才能使用單獨的屬性名
複製代碼
代碼如下:
with(o){
delete
a;
}
二、delete的返回值
delete是普通運算符,會返回true或false。規則為:當被delete的對象的屬性存在並且不能被刪除時
返回false,否則返回true。
這裡的一個特點就是,對象屬性不存在時也返回true,所以返回值並非完全等同於刪除成功與否。
複製代碼
代碼如下:
var
o
=
{a:1};
delete
o.a;
//返回true
var
b
=
2;
delete
b;//返回false,ECMA規則約定:使用var和function聲明的變量不可以被delete
三、哪些情況下不允許delete
上例提到的var和function聲明的變量不可以被delete,但隱式聲明可以被刪除
複製代碼
代碼如下:
function
c(){return
12;}
delete
c;//返回false
d
=
function(){return
12;}
delete
d;//返回true
不能delete從原型鏈上繼承的屬性,但可以刪除原型鏈上的屬性
複製代碼
代碼如下:
function
Foo(){}
Foo.prototype.bar
=
42;
var
foo
=
new
Foo();
delete
foo.bar;
//
返回true,但並沒有起作用
alert(foo.bar);
//
alerts
42,
屬性是繼承的
delete
Foo.prototype.bar;
//
在原型上刪除屬性bar
alert(foo.bar);
//
alerts
“undefined”,
屬性已經不存在,無法被繼承
四、特例
複製代碼
代碼如下:
eval執行的代碼中如有通過var和function聲明的變量,可以被delete
eval(“var
a=1″);
delete
a;
alert(a);
//報未定義錯誤
如果聲明是在eval執行代碼中的閉包內進行的,則變量不能被delete
eval(“(function(){var
a=1;delete
a;
return
a;})()”);//1
五、delete
數組元素
從數組中delete其元素並不會影響數組的長度
複製代碼
代碼如下:
var
arr
=
[‘yuyin’,’suhuan’,’baby’];
delete
arr[0];
alert(arr.length);//alert
3
被delete的鍵值已經不屬於數組,但卻還是可以被訪問,其值為undefined。
複製代碼
代碼如下:
var
arr
=
[‘yuyin’,’suhuan’,’baby’];
delete
arr[0];
in
arr;
//
false
alert(arr[0]);//undefined
arr[0]
===
undefined;//true
對比直接將鍵值賦值undefined
複製代碼
代碼如下:
var
arr
=
[‘yuyin’,’suhuan’,’baby’];
arr[0]
=
undefined;
in
arr;
//
true
alert(arr[0]);//undefined
arr[0]
===
undefined;//true
可以看出delete
操作只是將鍵值這個屬性從數組中刪除了,數組本身也是對象,這個情況好理解的。如果需要保留鍵值,可以用undefined賦值。
俺是javascript初學者 像高手請教謝謝
% 求余
var a=5;
var b=7;
var c=b%a;//c被賦值b模除於a,這個時候c的值是2(7除以5於2)
++ 自加
var a=5;
a++;//這個時候a自加,那麼a的值現在是6
//a++和++a有區別,但是都能讓這個變量自加1
— 自減
//同自加
== 等於【邏輯判斷】
//這個式子會返回真值,就是真(true)假(false)
var a=3;
var b=4;
var c=3;
a=b //3不等於4 返回的是 假
a=c //3等於3 返回的是 真
=== 恆等於【邏輯判斷】
//這個式子在判斷等於的基礎上還判斷這個變量的類型,初學者可以不掌握,但是要明白不一樣
!= 不等於【邏輯判斷】
//如果不等於就返回 真 ,等於就返回 假
//和 == 完全相反的返回值
= = 大於 小於 大於等於 小於等於【邏輯判斷】
//返回真值。
【邏輯判斷】
且(and)
|| 或(or)
//條件判斷
表達式1 表達式2
//表達式1和表達式2都是會返回真值的式子
//當且僅當兩個表達式均為真的時候,這整個式子返回 真 ,否則返回 假
//全真才真,一假則假
表達式1 || 表達式2
//當且僅當兩個表達式均為假的時候,這整個式子返回 假,否則返回 真
//全假才假,一真則真
! 非(not)【邏輯判斷】
//非是一個單目,也就是一個參數的條件判斷
!表達式
//返回表達式真值的反面。如表達式為真,則返回假;表達式假則返回真。
這些邏輯判斷符用在可以用真值的地方如 if 條件句:
if( 真值表達式 ){
//如果為真運行這個大括號裡面的
}else{
//如果為假運行這個大括號裡面的
}
ps:在js中任何式子都可以做真值判斷。0為假,其他任何字符,對象,變量等都為真。
JavaScript學習筆記之數組基本操作示例
本文實例講述了JavaScript學習筆記之數組基本操作。分享給大家供大家參考,具體如下:
一、數組定義
1、定義
vara=[1,2,3]
vara=newArray(1,2,3);
2、長度
返回長度
script
vara=[1,2,3,4,5,6];
alert(a.length);
/script
設置長度
script
vara=[1,2,3,4,5,6];
a.length=2;
alert(a);
/script
二、數組連接
script
vara=[1,2,3];
varb=[4,5,6];
alert(a.concat(b));
alert(b.concat(a));
/script
三、數組排序
sort()函數
默認情況是把數組元素按字符串排序
例子
01
script
vararr=[‘float’,’width’,’alpha’,’zoom’,’left’];
arr.sort();
alert(arr);
/script
例子02
vararr=[12,8,99,19,112];
arr.sort();
alert(arr);
例子03
sort()函數的改進
vararr=[12,8,99,19,112];
arr.sort(function(n1,n2){
returnn1-n2;
});
alert(arr);
四、數組連接
1、兩個數組間的連接:contact()
script
vara=[1,2,3];
varb=[4,5,6];
alert(a.concat(b));
alert(b.concat(a));
/script
2、數組元素間的連接:join()
script
vararr=[1,2,3,4];
alert(arr.join(‘–p’));
/script
五、數組元素添加、刪除
1、數組尾部的添加、刪除
尾部添加:push(value)
例子01
script
vara=[1,2,3];
a.push(4);
alert(a);
/script
尾部刪除:pop()
例子02
script
vara=[1,2,3];
a.pop();
alert(a);
/script
2、數組頭部的添加、刪除
頭部添加
unshift(value)
例子01
script
vararr=[1,2,3];
arr.unshift(0)
alert(arr);
/script
頭部刪除:shift()
例子02
script
vararr=[1,2,3];
arr.shift();
alert(arr);
/script
3、數組——splice()
刪除數據
例子01
script
vararr=[1,2,3,4,5,6];
//splice(起點,長度)
arr.splice(2,3);
alert(arr);
/script
插入數據
例子02
script
vararr=[1,2,3,4,5,6];
//插入數據splice(起點,長度,元素)
arr.splice(2,0,’a’,’b’,’c’);
alert(arr);
/script
替換數據
例子02
script
vararr=[1,2,3,4,5,6];
//替換數據
arr.splice(2,2,’a’,’b’);
alert(arr);
/script
感興趣的朋友可以使用在線HTML/CSS/JavaScript代碼運行工具:測試上述代碼運行結果。
更多關於JavaScript相關內容還可查看本站專題:《JavaScript數組操作技巧總結》、《JavaScript字符與字符串操作技巧總結》、《JavaScript遍歷算法與技巧總結》、《JavaScript排序算法總結》、《JavaScript查找算法技巧總結》、《JavaScript數學運算用法總結》、《JavaScript數據結構與算法技巧總結》及《JavaScript錯誤與調試技巧總結》
希望本文所述對大家JavaScript程序設計有所幫助。
您可能感興趣的文章:js數組與字符串的相互轉換方法js刪除數組元素、清空數組的簡單方法(必看)js數組循環遍曆數組內所有元素的方法JS
array
數組詳解js數組去重的三種常用方法總結JavaScript從數組中刪除指定值元素的方法JS數組的遍歷方式for循環與for…in向JavaScript的數組中添加元素的方法小結JS刪除數組裡的某個元素方法javascript
數組的定義和數組的長度Js數組的操作push,pop,shift,unshift等方法詳細介紹
原創文章,作者:CJXAL,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/317167.html