JavaScript 基础篇之运算符、语句(二)
javascript:运算符
其实运算符大家要是有计算机语言基础应该都知道,可能甚至比我还精通,这样我就不多解释了,就来说说其它几个生疏的吧!
1、in 运算符:in运算符要求其左边的运算数是一个字符串,或可以被转换为字符串,右边的运算数是一个数组或者对象,如果左边的值是右边的对象的一个属性,它返回true.
代码如下:
var objvalue = {x:1,y:7};
document.write("x is in objvalue:" + ("x" in objvalue) +"<br />");
//输出 x is in objvalue:true
2、条件运算符(?:)
该运算符是javascript中唯一的三元运算符(3个运算数),第一个运算数必须是一个布尔值,第二个和第三个运算数可以是任何类型的值。如果运算数的值未true,值就是第二个运算数的值,flase-就是第三个运算数。
代码如下:
document.write(1>0?8:4)
//输出8,1肯定大于0所以就返回第二个运算数
3、typeof运算符
typeof 是个一元运算符,用于判断运算数的类型,比如运算的是数字返回number,字符串就返回string。要注意:对null它返回也是object类型。这个运算符用的还是比较多。
代码如下:
document.write("typeof number 8:" + typeof 8 +"<br />");//输出typeof number 8:number
document.write("typeof string money :" +typeof("money")+"<br />");//输出typeof string money :string
document.write("typeof boolean true :"+typeof(true) + "<br />");//输出typeof boolean true :boolean
document.write("typeof Array :"+typeof([]) + "<br />");//输出typeof Array :object
document.write("typeof Null :"+typeof(null) + "<br />");//输出typeof Null :object
document.write("typeof Undefined:"+typeof(undefined) + "<br />");//输出typeof Undefined:undefined
4、delete 运算符
delete也是一个一元运算符,用于删除运算数所指定的对象的属性,数组元素或变量,如果删除成功就返回true,如果运算数不能被删除,它将返回false。
代码如下:
var deleteobj = {one:"one",two:"two",three:"three"};
document.write("delete element is succeed:" + (delete deleteobj.one) +"<br />");//输出delete element is succeed:true
document.write("select one in deleteobj :" + typeof(deleteobj.one)+"<br />");//输出select one in deleteobj :undefined
document.write("delete element is succeed:"+(delete deleteobj) +"<br />");//输出delete element is succeed:false
document.write("delete defined x:" + (delete x) + "<br />");//输出delete defined x:true
var x = 1;
//上面反映了delete,能删除对象的属性,变量,不能删除对象,没定义的变量。
javascript:语句
1、if,else if语句
由于是基本的语句,我就不多介绍了,直接来几个例子吧,下面的控制语句以后会常用。
代码如下:
var expression;
if(!expression) document.write("我声明了,但没未定义值" +"<br />"); //输出:我声明了,但没未定义值
//因为expression 的值是undefined未定义,在用到boolean类型中,转换成了false。
if(!null)document.write("我用到boolean中也是false"+"<br />") //输出:我用到boolean中也是false
var obj1 = {};
if(obj1)document.write("obj1不是个null对象"+"<br />");//输出obj1不是个null对象
if(!obj1.one)document.write("obj1.one是个null对象"+"<br />");//obj1.one是个null对象
类似以上的语句以后大家可能会经常用,要能理解。不能马虎
2、switch语句、while、do...while 、for、for...in
上面的语句和其它语言没什么特别之处,就直接上我上个月学习C#做的题目,不过咱们这次是用javascript.
代码如下:
//执行给数组排序
function comparenumber(objarr1)
{
if(!objarr1)
{
throw("参数不能为空!");
return;
}
var finished = true;//用于控制while循环
do
{
finished = false;
for(var i=0;i<objarr1.length;i++)//变量数组 length属性返回数组的长度
{
if(objarr1[i]>objarr1[i+1])//比较
{
var temp = objarr1[i];
objarr1[i] = objarr1[i+1];
objarr1[i+1] = temp;
finished = true;//继续循环,直到上面的比较条件不满足是while就不循环了。
}
}
}while(finished);
}
//该函数执行的是打印任务
function displayarray(arr)
{
for(var val in arr)
{
document.write(arr[val] +"\t");//\t 是制表符
}
}
var numberarray = [34,45,2,3,54,65,123];//声明一个数组
comparenumber(numberarray);//排序
displayarray(numberarray);//输出
//输出:2 3 34 45 54 65 123
3、with 语句
使用with可以减少大量的输入,在javascript客户端中,深度嵌套的对象就可以使用with了,但是它运行的速度要慢。
小结:其实还有很多其它语句,在这里我就不多重复写了。