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>

转载于:https://www.cnblogs.com/jassy/p/4229468.html

杂乱无章之javascript(一)相关推荐

  1. node学习篇02-模块机制

    一.BS or CS ?         C/S:即Client/Server,客户机/服务器模式.         两层:客户机和服务器两层,第一层,在客户机系统上结合了界面显示与业务逻辑:第二  ...

  2. 使用jQuery将表单数据转换为JavaScript对象

    如何将表单的所有元素转换为JavaScript对象? 我希望有一些方法可以自动从表单中构建JavaScript对象,而不必遍历每个元素. 我不需要$('#formid').serialize();返回 ...

  3. JavaScript权威指南 - 函数

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

  4. 理解与使用Javascript中的回调函数

    在Javascript中,函数是第一类对象,这意味着函数可以像对象一样按照第一类管理被使用.既然函数实际上是对象:它们能被"存储"在变量中,能作为函数参数被传递,能在函数中被创建, ...

  5. 深入理解面向对象 -- 基于 JavaScript 实现

    我们在学习编程时,避免不了会接触一个概念,叫:面向对象编程(Object-oriented programming,缩写:oop) (不是搞对象那个对象哈),其实我们的编程方式,不止有面向对象,还有 ...

  6. 【JavaScript】理解与使用Javascript中的回调函数

    在Javascript中,函数是第一类对象,这意味着函数可以像对象一样按照第一类管理被使用.既然函数实际上是对象:它们能被"存储"在变量中,能作为函数参数被传递,能在函数中被创建, ...

  7. Javascript代码在线整理工具源码

    有些人在写Javascript时并不会去缩进代码,导致代码的可读性非常差,下面这个源码就是专为没有缩进过的JS代码所准备的,他可以将JS代码由杂乱无章变得井井有条,好了话不多说上源码. <!DO ...

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

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

  9. JavaScript中的回调函数(callback)

    前言 callback,大家都知道是回调函数的意思.如果让你举些callback的例子,我相信你可以举出一堆.但callback的概念你知道吗?你自己在实际应用中能不能合理利用回调实现功能? 我们在平 ...

最新文章

  1. List集合add使用过程中出现的错误
  2. 第十六周项目一-小玩文件(2)
  3. python3 系统监控脚本(CPU,memory,网络,disk等)
  4. js observer 添加_简单了解4种JS设计模式
  5. ps原始数据清理脚本_创建地形模型一步到位!PS最新2019全球首款3D地形生成插件送给你...
  6. MyBatis使用resultMap自定义映射规则与关联映射
  7. Sybase插入数据库遭遇sybase Unexpected EOF encountered in BCP data-file.
  8. 是否可以限制蓝牙传输距离_技术文章—关于蓝牙传输范围的常见误解
  9. [BZOJ2125]最短路
  10. 三相同步电机怎么接线图_智能电表怎么接线 单相 三相电表接线图大全
  11. python自动保存ping结果_利用python获取Ping结果示例代码
  12. Android10虚拟硬件,编辑 Android 虚拟设备属性
  13. Kafka 详解(二)------集群搭建
  14. windows Server 2003中NTBackup恢复到Windws Server 2008/R2
  15. Bootstrap 模态框(Modal)
  16. Eclipse hibernate Tools下载
  17. 小米盒子尚“健在”傍CNTV挑逗广电总局
  18. debian 安装teamviewer
  19. 解决 python 找不到第三方安装库问题
  20. sqlserver修改主键id自增

热门文章

  1. 简单工厂模式,抽象工厂模式,反射工厂模式的代码总结
  2. gin中间件中使用Goroutines
  3. golang中的strings.SplitN
  4. golang常见内存泄漏
  5. Node.js的3m安装法
  6. 让ie8、ie9支持媒体查询
  7. 一对一交友源码,一对一视频交友源码,这些功能是主流
  8. 让程序员薪资上升一个level的良心十条建议,你有做到吗?
  9. UI开发模式-容器模式
  10. 美团的android多渠道包的3种方法