1.in 要求第一个(左边的)操作数必须是字符串类型或是可以转化成字符串类型的其他类型,而第二(右边的)操作数必须是数组或对象。只有第一个操作数的值是第二个操作数的属性名,才会返回true,否则返回false。对于对象而言比较的是对象的属性名,而对于数组比较的是数组的下标是否合法。
<script language="javascript">
var box={box_length:200,box_width:100};
var arr={"box_length",200,"200"};
var x="box_length";
var y=2;
if(x in box)
{
 document.write("变量x包含在对象box中!");//返回true
}
else
{
 document.write("变量x不包含在对象box中!");//返回false
}
if(y in box)
{
 document.write("变量y包含在对象box中!");//返回false
}
else
{
 document.write("变量y不包含在对象box中!");//返回true
}
if(x in arr)
{
 document.write("变量x包含在数组arr中!");//返回false
}
else
{
 document.write("变量x包含在数组arr中!");//返回true
}
if(y in arr)
{
 document.write("变量y包含在数组arr中!");//返回true
}
else
{
 document.write("变量y不包含在数组arr中!");//返回flase
}
</script>

2.with   
语法:with(对象)
  <语句块>
<html>
<head>
<title>with语法演示</title>
</head>
<body>
<form name="myform">
 <input type="text" name="mytext1" /><br />
    <input type="text" name="mytext2" /><br />
    <input type="text" name="mytext3" />
</form>
<script language="javascript">
 document.form[0].mytext1.value="第一个文本框";
 with(document.forms[0])
 {
  mytext2.value="第二个文本框";
  mytext3.value="第三个文本框";
 }
</script>
</body>
</html>

3.函数(三种写法)
<script language="javascript">
 var mySum=new Function("x","y","return x+y");//Function()可以接受一个或多个参数,Function()构造函数的最后一个参数为函数体的内容。
 
 function mySum(x,y)
 {
  return x+y;
 }
 
 var mySum=function(x,y){return x+y;};
</script>
4.instanceof
用来判断对象是否属由某个构造函数定义的。要求第一个操作数是一个对象或数组的名称,而第二个操作数是对象类的名字。若第一个操作数是第二个操作数的实例,则会返回true;反之返回false。
<script language="javascript">
var myDate=new Date();
if(myDate instanceof Date)
{
 document.write("myDate是Date类的实例!");//返回true
}
else
{
 document.write("myDate不是Date类的实例!");//返回false
}
if(myDate instanceof Object)
{
 document.write("所有类都是Object类的实例!");//返回true
}
else
{
 document.write("所有类都不是Object类的实例!");//返回false
}
</script>
5.typeof
返回变量的数据类型
<script language="javascript">
var a="aldsfjkadf";
document.write(typeof(a));//输出结果是“string”
</script>
6.this         this[.属性]
<html>
<head>
<title>this用法的演示</title>
<script language="javascript">
function output1(obj)
{
 alert(obj.value);
}
function output2(str)
{
 alert(str);
}
</script>
</head>
<body>
 <input type="text" value="第1个文本框" onClick="output1(this)" />
    <input type="text" value="第2个文本框" onClick="output2(this.value)" />
</body>
7.函数---获得实际传递参数的值(Arguments)
<script language="javascript">
function myFun(x,y)
{
 if(arguments.length!=2)
 {
  var str="传递参数个数有误,共传递了"+arguments.length+"个参数!";
  str+="传递的参数值分别为:<br>";
  for(i=0;i<arguments.length;i++)
  {
   str+="第"+(i+1)+"个参数值为"+arguments[i]+"<br>";
  }
  return str;
 }
 else
 {
  var z=x+y;
  return z;
 }
}
</script>
<script language="javascript">
function Paixu()
{
 var arrLength=arguments.length;
 for(i=0;i<arguments.length;i++)
 {
  for(j=arrLength;j>i;j--)
  {
   if(arguments[j]<arguments[j-1])
   {
    temp=arguments[j];
    arguments[j]=arguments[j-1];
    arguments[j-1]=temp;
   }
  }
 }
 for (i=0;i<arrLength;i++)
 {
  document.write(arguments[i]+" ");
 }
}
Paixu(12,4,8,3,6,2,0,1,25)
</script>

8.函数---获得函数定义参数的个数(length)
函数的length和arguments对象的length属性不同,arguments对象的length只能在函数内使用,而函数的length属性可以在函数外使用。
<script language="javascript">
 function myCheck(parames)
 {
  if(parames.length!=parames.callee.length)//parames就是arguments;arguments.callee.length返回的是正在使用的函数定义参数的个数
  {
   return false;
  }
  else
  {
   return true;
  }
 }
</script>
9.call()方法    函数名.call(对象名,参数1,参数2,...)
改方法可以像调用其他对象的方法一样调用某个函数的。
<script language="javascript">
function Paixu()
{
 var arrLength=arguments.length;
 for(i=0;i<arguments.length;i++)
 {
  for(j=arrLength;j>i;j--)
  {
   if(arguments[j]<arguments[j-1])
   {
    temp=arguments[j];
    arguments[j]=arguments[j-1];
    arguments[j-1]=temp;
   }
  }
 }
 for (i=0;i<arrLength;i++)
 {
  document.write(arguments[i]+" ");
 }
}
var myObject=new Object();
Paixu.call(myObject,13,3,45);
</script>
10.系统函数--求值函数eval()
该函数主要作用是将字符串指定为对象。
<script language="javascript">
function pen(color,price)
{
 this.color=color;
 this.price=price;
}
var pen1=new pen("红色",10);
var pen2=new pen("绿色",20);
var pen3=new pen("黑色",30);
for(i=1;i<4;i++)
{
 var penx=eval("pen"+i);
 document.write("笔"+i+"的颜色为"+penx.color+",价格为"+penx.price+"<br>");
}
</script>
11.系统函数--数值判断isNaN()
用来判断变量是否为数字型变量。如果该参数返回false,说明该变量为数字型变量,否则是非数字型变量。
<script language="javascript">
function mySum(x,y)
{
 if(isNaN(x) || isNaN(y))
 {
  return "参数类型必须是数字类型!";
 }
 else
 {
  return (x+y);
 }
}
document.write(mySum(1,2));
document.write(mySum(6,"a"));
</script>
12.创建有默认值的构造函数
<script language="javascript">
function pen(name,color,price)
{
 this.name=name;
 this.color=color;
 if(price==undefined)
 {
  this.price=20;
 }
 else
 {
  this.price=price;
 }
}
var pen1=new pen("铅笔","红色",40);
document.write(pen1.name);
document.write(pen1.color);
document.write(pen1.price);
</script>
13.创建有方法的构造函数
<script language="javascript">
function written(str)
{
 document.write(str+"<br>");
}
function pen(name,color,price)
{
 this.name=name;
 this.color=color;
 this.price=price;
 this.write=write;
}
var pen1=new pen("钢笔","红色",100);
document.write(pen1.name);
document.write(pen1.color);
document.write(pen1.price);
pen1.write("钢笔字");
</script>

14.修改对象原型
<script language="javascript">
function pen(color,price)
{
 this.color=color;
 this.price=price;
}
pen.prototype.name="钢笔";
var mypen=new pen("红色",20);
document.write("笔的名称"+mypen.name);
pen.prototype.name="铅笔";
document.write("笔的名称"+mypen.constructor.prototype.name);
</script>
15.constructor属性:返回对象的构造函数
typeof可以判断操作数的类型,若操作数是对象则返回“object”,但它不能判断对象是什么类型的对象。Object对象中的constructor属性可以判断一个对象的类型,constructor属性引用的是对象的构造函数。
<script language="javascript">
var myObject1=new Object();
var myObject2=new Object(1.12234324);
var myObject3=new Object(false);
var myObject4=new Object("str");
if(myObject1.constructor==Object)
{
 document.write("这是一个对象<br>");
}
if(myObject2.constructor==Number)
{
 document.write("这是一个数字对象<br>");
}
if(myObject3.constructor==Boolean)
{
 document.write("这是一个布尔对象<br>");
}
if(myObject1.constructor==String)
{
 document.write("这是一个字符串对象<br>");
}
</script>

16.valueOf()方法:返回对象的原始值

valueOf()返回的是与对象相关的原始值,如果对象相关的原始值不存在,则返回对象本身。语法:object.valueOf()

<script language="javascript">

var myObject1=new Object();

myObject1.name="铅笔";

myObject1.price=20;

var myObject2=new Object(1.23453463);

var myObject3=new Object(false);

var myObject4=new Object("str");

document.write(myObject1.valueOf());//返回[object Object]

document.write(myObject2.valueOf());//返回1.23453463

document.write(myObject3.valueOf());//返回false

document.write(myObject4.valueOf());//返回str

</script>

17.日期对象
new Date();
new Date(str);
new Date(year,month,day,hours,minutes,seconds,milliseconds);
new Date(milliseconds1);//代表距离1970年1月1日0点时的毫秒数。
<script language="javascript">
var myDate1=new Date();
document.write(myDate1.toLocaleString());
var myDate2=new Date("auguest 31,2009 10:21:00");
var myDate3=new Date(2009,8,31);
var myDate4=new Date("auguest 31,2009");
var myDate5=new Date(2009,9,24,19,53,46);//2009-9-24  19:53:46
var myDate6=new Date(8000);//创建一个距离1970年1月1日午夜8000毫秒的日期
</script>
18.获得日期
date.getYear()      //返回对象日期中的年份,不建议使用
date.getFullYear()  //返回对象日期中的年份,建议使用,以4位数显示
date.getMonth()  //返回对象日期中的月份,其值范围0--11,1月份返回0,2月份返回1 .....
date.getDate()  //返回对象日期中的天数,即一个月的某一天。
date.getDay()  //返回对象日期中的日期是一周中的第几天,其值范围是0--6,周日为0,周一为1......
<script language="javascript">
var myDate=new Date();
document.write(myDate.getFullYear());
</script>

19.获得时间
date.getHours()  //返回对象日期中的小时部分
date.getMinutes() //返回对象日期中的分钟部分
date.getSeconds() //返回对象日期中的秒钟部分
date.getMilliseconds()//返回对象日期中的毫秒部分
date.getTime()  //返回对象日期中的时间与19701月1日0时0分0秒所间隔的毫秒数
date.getTimezoneOffset()//返回对象日期中的本地时间与UTC(世界时间)之间的时差数。
以下是获取世界时间
date.getUTCHours()
date.getUTCMinutes()
date.getUTCSeconds()
date.getUTCMilliseconds()
20.创建Error对象
new Error()
new Error(message)
<script language="javascript">
function myFun(x,y)
{
 var z;
 try
 {
  if(y==0)
  {
   var myErr=new Error("除数不能为0!");
   throw myErr;
  }
  z=x/y;
 }
 catch(ex)
 {
  z=ex.message;
 }
 return z;
}
document.write(myFun(1,0));
</script>

21.Error对象的属性
error.name:该属性为错误类型;
error.message:该属性为错误信息。
<script language="javascript">
var myString="My String";
try
{
 var errString=myString.subString(2,4);//使用方法时将方法的大小写输入错误
}
catch(ex)
{
 document.write("错误类型为:"+ex.name+"<br>");
 document.write("错误信息为:"+ex.message);
}
</script>
22.Error对象的方法
error.toString() :该方法返回的是一个用来表示Error对象的字符串,通常为"[object Error]"。
23.定义数组
有四种定义方式
(1)new Array()  定义空数组
<script language="javascript">
 var arr=new Array();
 document.write("数组中的元素个数为:"+arr.length+"<br>");//返回0
 arr[0]="字符串";
 arr[1]=true;
 arr[2]=13;
 document.write("数组中的元素个数为:"+arr.length+"<br>");//返回3
 document.write("数组中的元素值为:"+arr+"<br>");//返回“字符串,true,13”
</script>
(2)new Array(size)  指定数组长度定义数组
<script language="javascript">
 var arr=new Array(3);
 document.write("数组中的元素个数为:"+arr.length+"<br>");//返回3
 document.write("数组中的元素值为:"+arr+"<br>");//返回“”
 arr[0]="字符串";
 arr[1]=true;
 arr[2]=13;
 document.write("数组中的元素个数为:"+arr.length+"<br>");//返回3
 document.write("数组中的元素值为:"+arr+"<br>");//返回“字符串,true,13”
</script>
(3)new Array(element1,element2,...)  指定数组元素定义数组
<script language="javascript">
 var arr=new Array("字符串",true,13);
 document.write("数组中的元素个数为:"+arr.length+"<br>");//返回3
 document.write("数组中的元素值为:"+arr+"<br>");//返回“字符串,true,13”
</script>
(4)直接定义数组
<script language="javascript">
 var arr=["字符串",true,13]
 document.write("变量arr的构造函数为:"+arr.constructor+"<br>");
 document.write("数组中的元素个数为:"+arr.length+"<br>");//返回3
 document.write("数组中的元素值为:"+arr+"<br>");//返回“字符串,true,13”
</script>
24.删除数组元素
<script language="javascript">
 var arr=new Array("字符串",true,13);
 document.write("数组中的元素个数为:"+arr.length+"<br>");//返回3
 document.write("数组中的元素值为:"+arr+"<br>");//返回“字符串,true,13”
 delete arr[1];
 document.write("数组中的元素个数为:"+arr.length+"<br>");//返回3
 document.write("数组中的元素值为:"+arr+"<br>");//返回“字符串,,13”
</script>
25.数组元素的个数
array.length
<script language="javascript">
 var myString="This is my string";
 var myArr=myString.split(" ");
 document.write(myArr.length);//返回4
 myArr[myArr.length]="新增元素";
 document.write(myArr.length);//返回5
 document.write(myArr);//返回This,is,my,string,新增元素
</script>
26.toString()方法  将数组转换为字符串
27.join()方法  将数组元素连接成字符串
join()
join(str)
<script language="javascript">
 var str=[1,2,3];
 document.write(arr.join());//返回1,2,3
 document.write(arr.join("-"));//返回1-2-3
 document.write(arr.join("aaa"));//返回1aaa2aaa3
</script>
28.push()方法  在数组尾部添加元素
push(value,...)
<script language="javascript">
 var arr=[1,2,3];
 var arrlength=arr.push(9);//var arrlength=arr.push(4,5) //arr数组的值为[1,2,3,4,5]
 document.write(arrlength+"<br>"+arr.toString());//返回4  1,2,3,9
 arrlength=arr.push("a",true,111,666);
 document.write(arrlength+"<br>"+arr.toString());//返回8  1,2,3,9,a,true,111,666
</script>

29.concat()方法  添加元素并生成新数组
concat(value,...)
<script language="javascript">
 var oldarr=[1,2,3];
 var newarr=oldarr.concat("a",true,111,666);
 document.write(newarr.toString());//返回1,2,3,a,true,111,666
 document.write(oldarr.toString());//返回1,2,3
</script>
30.unshift()方法  在数组头部添加元素(用法和push()方法相同)
31.pop()方法  删除并返回数组的最后一个元素
<script language="javascript">
 var arr=[1,2,3];
 document.write(arr.toString());//返回1,2,3
 var lastarr=arr.pop();
 document.write(lastarr);//返回3
 document.write(arr.length);//返回2
 document.write(arr.toString());//返回1,2
</script>
32.shift()方法  删除并返回数组的第一个元素(用法和pop方法相同)
33.splice()方法  删除、替换或插入数组元素
splice(start,count,value,...)
start:要删除、替换或插入数组元素的开始位置,即下标。
count:要删除、替换或插入数组元素的个数,该参数可选。
value:要插入数组元素的值,从start下标开始插入,该参数可选。
splice()方法的返回值是一个数组,删除元素时,返回的是已删除的元素;替换元素时,返回的是被替换的元素。
<script language="javascript">
 var arr=[1,2,3,4,5,6,7,8,9];
 document.write(arr.toString());//返回1,2,3,4,5,6,7,8,9
 var arr1=arr.splice(5,1);
 document.write(arr1.toString());//返回6
 document.write(arr.toString());//返回1,2,3,4,5,7,8,9
 var arr2=arr.splice(1,3);
 document.write(arr2.toString());//返回2,3,4
 document.write(arr.toString());//返回1,5,7,8,9
 var arr3=arr.splice(1,3,"a","b","c","d","e");
 document.write(arr3.toString());//返回5,7,8
 document.write(arr.toString());//返回1,a,b,c,d,e,9
 var arr4=arr.splice(1,0,true,false);
 document.write(arr4.toString());//返回
 document.write(arr.toString());//返回1,true,false,a,b,c,d,e,9
</script>
34.slice()方法  返回数组中的一部分
slice(start,end)
start:返回数组部分的开始处的数组下标。该值可以为负数,若为负数则表示从数组的最后1个元素开始计数位置,如-1为数组的最后1个元素,-2为数组的倒数第2个元素;
end:返回数组部分的结束处的数组下标。该值可以为负数,若为负数则表示从数组最后1个元素开始计数位置,如-1为数组的最后1个元素,-2为数组的倒数第2个元素;
slice方法返回的也是一个数组,是原数组的一个片段,即从start到end为止的所有元素,不包括end元素。
<script language="javascript">
 var arr=[1,2,3,4,5,6,7,8,9];
 var arr1=arr.slice(1,5);
 document.write(arr.toString());//返回1,2,3,4,5,6,7,8,9
 document.write(arr1.toString());//返回2,3,4,5
 var arr2=arr.slice(1,-1);
 document.write(arr2.toString());//返回2,3,4,5,6,7,8
 var arr3=arr.slice(-5,-1);
 document.write(arr3.toString());//返回5,6,7,8
 var arr4=arr.slice(4);
 document.write(arr4.toString());//返回5,6,7,8
</script>
35.reverse()方法  颠倒数组中的元素
<script language="javascript">
 var arr=[1,2,3,4,5,6,7,8,9];
 document.write(arr.toString());//返回1,2,3,4,5,6,7,8,9
 arr.reverse();
 document.write(arr.toString());//返回9,8,7,6,5,4,3,2,1
</script>
36.sort()方法  将数组元素排序
sort()
sort(order)
其中order参数是可选参数,用来指定使用什么方法来对数组中的元素进行排序,若省略order参数,将按字符编码的顺序排序,反之则必须指定order的参数。order参数必须是一个函数,该函数应该有两个参数(假设x和y)。在使用sort()排序时,每次比较两个元素时都会执行比较函数,并将两个元素作为参数传递个比较函数。比较函数有以下两个返回值
(1)如果返回值大于0,则交换两个元素的位置。
(2)如果返回值小于或等于0,则不进行操作。
<script language="javascript">
 var arr=[39,35,11,88,55,222,77];
 document.write(arr.toString());//返回39,35,11,88,55,222,77
 arr.sort();
 document.write(arr.toString());//返回11,222,35,39,55,77,88
 //正序排序
 function ascorder(x,y)
 {
  if(x>y)
  {
   return 1;
  }
  else
  {
   return -1;
  }
 }
 //倒序排序
 function descorder(x,y)
 {
  if(x>y)
  {
   return -1;
  }
  else
  {
   return 1;
  }
 }
 arr.sort(ascorder);
 document.write(arr.toString());//返回11,35,39,55,77,88,222
 arr.sort(descorder);
 document.write(arr.toString());//返回222,88,77,55,39,35,11
</script>

杂乱无章之javascript(一)的更多相关文章

  1. 杂乱无章之javascript(二)

    1.浏览器与事件事件通常是由浏览器所产生,不同的浏览器会产生的事件也有所不同,即使同一浏览器不同版本所产生的事件也有不同.以下为HTML4.01中的事件 2.error事件:它可以调用一个错误处理函数 ...

  2. JavaScript权威指南 - 函数

    函数本身就是一段JavaScript代码,定义一次但可能被调用任意次.如果函数挂载在一个对象上,作为对象的一个属性,通常这种函数被称作对象的方法.用于初始化一个新创建的对象的函数被称作构造函数. 相对 ...

  3. JavaScript 总结几个提高性能知识点

    前段时间花时间看了大半的<High Performance JavaScript>这本书啊,然后就开始忙项目了,庆幸最忙的一周已经熬过去了.由于空不出时间,这个月写的学习笔记也不多,忙完最 ...

  4. 面向对象的Javascript(5):继承

    在小项目中对于JavaScript使用,只要写几个function就行了.但在大型项目中,尤其是在开发追求 良好的用户体验的网站中,如SNS,就会 用到大量的JavaScrpt,有时JavaScrip ...

  5. 面向对象的JavaScript(3):私有成员和公开成员

    在小项目中对于JavaScript使用,只要写几个function就行了.但在大型项目中,尤其是在开发追求 良好的用户体验的网站中,如SNS,就会 用到大量的JavaScrpt,有时JavaScrip ...

  6. 面向对象的Javascript(4):重载

    在小项目中对于JavaScript使用,只要写几个function就行了.但在大型项目中,尤其是在开发追求 良好的用户体验的网站中,如SNS,就会 用到大量的JavaScrpt,有时JavaScrip ...

  7. 面向对象的JavaScript(2):类

    在小项目中对于JavaScript使用,只要写几个function就行了.但在大型项目中,尤其是在开发追求良好的用户体验的网站中,如SNS,就会 用到大量的JavaScrpt,有时JavaScript ...

  8. 面向对象的JavaScript(一)命名空间

    在小项目中对于JavaScript使用,只要写几个function就行了.但在大型项目中,尤其是在开发追求良好的用户体验的网站中,如SNS,就会用到大量的JavaScrpt,有时JavaScript的 ...

  9. JavaScript开发规范要求

    http://www.cnblogs.com/webflash/archive/2010/06/11/1756255.html 作为一名开发人员(WEB前端JavaScript开发),不规范的开发不仅 ...

随机推荐

  1. 【Spark学习】Apache Spark作业调度机制

    Spark版本:1.1.1 本文系从官方文档翻译而来,转载请尊重译者的工作,注明以下链接: http://www.cnblogs.com/zhangningbo/p/4135905.html 目录 概 ...

  2. 《Java数据结构与算法》笔记-CH4-1栈的实现

    class StackX{ private int maxSize; private long[] stackArray; private int top; public StackX(int siz ...

  3. j2ee的十三个规范

    转载 今天在做连接oracle数据库的时候,感受到了什么是规范.平时听到别人说学习j2ee一定要学习他的十三个规范,大概的知道每个规范是做什么的,每个“接口”是做什么的.          很早就听过 ...

  4. 第二百九十八天 how can I 坚持

    晚上和同学一块吃了个饭,聊了好多. 晚上回来的路上,突然想起一句话,现在又忘了. 睡觉. 人生平淡也好,光彩也罢,只是一个历程,算了,睡觉.

  5. 【转】linux代码段,数据段,BSS段, 堆,栈

    转载自 http://blog.csdn.net/wudebao5220150/article/details/12947445  linux代码段,数据段,BSS段, 堆,栈 网上摘抄了一些,自己组 ...

  6. 通过一次实验来了解HTML5的 Web Worker

    web worker 是运行在后台的 JavaScript,不会影响页面的性能. 当在 HTML 页面中执行脚本时,页面的状态是不可响应的,直到脚本已完成. web worker 是运行在后台的 Ja ...

  7. UVALive 7457 Discrete Logarithm Problem (暴力枚举)

    Discrete Logarithm Problem 题目链接: http://acm.hust.edu.cn/vjudge/contest/127401#problem/D Description ...

  8. Spring Autowiring @Qualifier example

    In Spring, @Qualifier means, which bean is qualify to autowired on a field. See following scenario : ...

  9. [iOS微博项目 - 1.5] - NavigationBar标题按钮

    A.NavigationBar标题按钮 1.需求 在“首页”的导航栏中部设置一个“首页”文字+箭头按钮 统一设置样式 根据实际文本长度调整宽度 消除系统自带的点击高亮效果 点击按钮,箭头上下颠倒 gi ...

  10. poj2155 树状数组 Matrix

    Matrix Time Limit: 3000MS   Memory Limit: 65536K Total Submissions: 14826   Accepted: 5583 Descripti ...