javascript代码示例(java代码)
今天给各位分享javascript代码示例的知识,其中也会对java代码进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
JavaScript语句分类大全
1、赋值语句:var
2.return语句
3、条件分支语句 if...else,switch
4、循环语句 for,for...in,while,break,continue.
5、对象操作语句with,new,delete,this
6、注释语句
7、函数定义语句:function,return
1、变量声明赋值语句:var
var语句声明了一个变量的名称,同时也可以让这个变量具有一个初始值。
如果var语句在一个函数中声明变量,则这个变量的有效区域只限于这个函数,叫局部变量;如果var语句在函数体外,则有效区为整个应用程序,叫全局变量。
在函函数体外声明一个变量可以不用var,给出变量的值就可以了。(但推荐使用var)
var的语法如下:
例:
word" bgColor=#f3f3f3>
varComputer=9//Computer是一个整数变量,初值为9
Computer=9//Computer是一个整数变量,初值为9
2.return语句
return语句指明将由函数返回的值。
语法如下:
return表达式;
如果这里省略了表达式,或者函数结束时根本没有return语句,这个函数就返回一个undefined类型的值。
3、条件分支语句 if...else,switch
1.if...else
1)基本格式
if(表述式)
语句段1;
......
else
语句段2;
......
2)功能:若表达式为true,则执行语句段1;否则执行语句段2。
3)说明:
·if-else语句是JavaScript中最基本的控制语句,通过它可以改变语句的执行顺序。
·表达式中必须使用关系语句,来实现判断,它是作为一个布尔值来估算的。
·它将零和非零的数分别转化成false和true。
·若if后的语句有多行,则必须使用花括号将其括起来。
4)if语句的嵌套
if(布尔值)语句1;
else(布尔值)语句2;
else if(布尔值)语句3;
else语句4;
在这种情况下,每一级的布尔表述式都会被计算,若为真,则执行其相应的语句,否则执行else后的语句。
示例:
script
functionabcd()
{
vard=confirm("请选择确定或者取消");
if(d==1){
alert("你选择的是确定");
}
else{
alert("你选择的是取消");
}
}
/script
5).switch语句
分支语句switch可以根据一个变量的不同取值而采取不同的处理方法。
switch的语法如下:
switch(表达式){
case label 1:
执行语句;
case label 2:
执行语句;
default:
执行语句;
}
示例:
script
vard=newDate();
switch(d.getDate()){
case0:document.write("星期一");break;
case1:document.write("星期二");break;
case2:document.write("星期三");break;
case3:document.write("星期四");break;
case4:document.write("星期五");break;
case5:document.write("星期六");break;
case6:document.write("星期日");break;
}
/script
4、循环语句 for,for...in,while,break,continue.
1.for
1)基本格式
for(初始化;条件;增量)
语句集;
2)功能:实现条件循环,当条件成立时,执行语句集,否则跳出循环体。
3)说明:
·初始化参数告诉循环的开始位置,必须赋予变量的初值;
·条件:是用于判别循环停止时的条件。若条件满足,则执行循环体,否则跳出。
·增量:主要定义循环控制变量在每次循环时按什么方式变化。
·三个主要语句之间,必须使用逗号分隔。
2.for...in
这个语句与for语句有一点不同。它循环的范围是一个对象所有的属性或者是一个数组的所有元素。
语法如下:
for(变量in对象或数组){
执行语句......
}
4).while语句
1)基本格式
while(条件)
语句集;
该语句与For语句一样,当条件为真时,重复循环,否则退出循环。
2)For与while语句
两种语句都是循环语句,使用For语句在处理有关数字时更易看懂,也较紧凑;而while循环对复杂的语句效果更特别。
示例:
这是1级标题
这是2级标题
这是3级标题
script
i=1;
while(i=3){
document.write("h"+i+"这是"+i+"级标题"+"/h"+i+"");
i++;
}
/script
4、break和continue语句
与C++语言相同,使用break语句使得循环从For或while中跳出,continue使得跳过循环内剩余的语句而进入下一次循环。
5、对象操作语句with,new,delete,this
1).with
使用该语句的意思是:在该语句体内,任何对变量的引用被认为是这个对象的属性,以节省一些代码。
with object{
...}
所有在with语句后的花括号中的语句,都是在后面object对象的作用域的。
2).this关键字
this是对当前的引用,在JavaScript由于对象的引用是多层次,多方位的,往往一个对象的引用又需要对另一个对象的引用,而另一个对象有可能又要引用另一个对象,这样有可能造成混乱,最后自己已不知道现在引用的那一个对象,为此JavaScript提供了一个用于将对象指定当前对象的语句this。
3).New运算符
虽然在JavaScript中对象的功能已经是非常强大的了。但更强大的是设计人员可以按照需求来创建自己的对象,以满足某一特定的要求。使用New运算符可以创建一个新的对象。其创建对象使用如下格式:
Newobject=NEW Object(Parameters table);
其中Newobject创建的新对象:object是已经存在的对象; parameters table参数表;new是JavaScript中的命令语句。
如创建一个日期新对象
newData=New Data()
birthday=New Data(December 12.1998)
之后就可使NewData、birthday作为一个新的日期对象了。
4.delete
同new相反,可以删除一个对象的实例。
6、注释语句(只是给人看的,浏览器不执行的语句)
//这是一个单行的注释
/*这样的注释可以是多行的
......
*/
7、函数定义语句:function,return
1.function
function用来定义一个函数,让济浏览器知道有这样一个函数,但只有当函数被调用时才会执行。
定义方法如下:
function函数名(参数表)
{
函数执行部分
}
下面举下个简单的例了来看看吧:
html
head
title欢迎光临/title
scriptlanguage="javascript"
functiongo()//定义一个函名为go的函数
{
alert("欢迎光临")
}
/script
/head
body
inputtype="button"onclick="go()"value="请点击"
!--单击按钮调用上面定义的函数--
/body
/html
说明:
当调用函数时,所用变量或字面量均可作为变量传递。
函数由关键字Function定义。
函数名:定义自己函数的名字。
参数表,是传递给函数使用或操作的值,其值可以是常量,变量或其它表达式。
通过指定函数名(实参)来调用一个函数。
必须使用Return将值返回。
函数名对大小写是敏感的。
javascript如何使用
1、字符串的创建
创建一个字符串有几种方法。最简单的是用引号将一组字符包含起来,可以将其赋值给一个字符串变量。
var myStr="Hello, String!";
我们在上面脚本创建了字符串,但本质上,它们并不是真正的字符串对象,准确地说,它们是字符串类型的值。要创建一个字符串对象,可使用如下语句:var strObj= new String("Hello, String!");
使用typeof运算符查看会发现,上面的myStr类型为string,而strObj类型为object。
如果想知道字符串的长度,使用其length属性:string.length。
得到字符串的指定位置的字符使用方法:string.charAt(index);
2、字符串的拼接
非常简单,就用一个"+"将两个字符串"相加":
var longString="One piece"+"plus one more piece.";
要将多个字符串累积为一个字符串,还可以使用"+="操作符:
var result="";
result+="My name is Anders"
result+=" and my age is 25";
要在字符串中添加换行符,需要使用转义字符"/n":
var confirmString="You did not enter a response to the last"+
"question./n/nSubmit form anyway?";
var confirmValue= confirm(confirmString);
但这种方法只能用在像警告、确认对话框之类的情况下,如果将这段文本作为HTML内容呈现,就无效了,此时用"<br>"代替它:
var htmlString="First line of string.<br>Second line of string.";
document.write(htmlString);
String对象还提供了方法concat(),它完成与"+"相同的功能:
string.concat(value1, value2,...)
不过concat()方法显然不如"+"来得直观简洁。
3、访问字符串的子串
使用substring()或slice()方法(NN4+, IE4+),下面说明它们的具体用法。
substring()的原型为: string.substring(from, to)
第一个参数from指定了子字符串在原字符串中的起始位置(基于0的索引);第二个参数to是可选的,它指定了子字符串在原字符串的结束位置(基于0的索引),一般情况下,它应比from大,如果它被省略,那么子字符串将一直到原字符串的结尾处。
如果参数from不小心比参数to大了会怎样?JavaScript会自动调解子字符串的起止位置,也就是说,substring()总是从两个参数中较小的那个开始,到较大的那个结束。不过要注意,它包含起始位置的那个字符,但不包含结束位置的那个字符。
var fullString="Every dog has his day.";
var section= fullString.substring(0, 4);// section is"Ever".
slice()的原型为: string.slice(start, end)
参数start表示子串的起始位置,如果为负数,那么可以理解为倒数第几个开始,例如-3表示从倒数第三个开始;参数end表示结束位置,与start一样,它也可以为负数,其含义也表示到倒数第几个结束。slice()的参数可以为负数,所以要比substring()更加灵活,但没那么宽容了,如果start比end要大,它将返回一个空字符串(示例略)。
还有一个方法是substr(),其原型为: string.substr(start, length)
从原型可以看出它的参数的含义,start表示起始位置,length则表示子字符串的长度。JavaScript标准不提倡使用该方法。
4、字符串的大小写转换
使用toLowerCase()和toUpperCase()方法:
var city="ShanGHai";
city= city.toLowerCase();// city is"shanghai" now.
5、判断两个字符串是否相等
先将用户的输入值全部转换为大写(或小写),然后再行比较:
var name= document.form1.txtUserName.value.toLowerCase();
if(name=="urname")
{
// statements go here.
}
JavaScript有两种相等运算符。一种是完全向后兼容的,标准的"==",如果两个操作数类型不一致,它会在某些时候自动对操作数进行类型转换,考虑下面的赋值语句:
var strA="i love you!";
var strB= new String("i love you!");
这两个变量含有相同的字符序列,但数据类型却不同,前者为string,后者为object,在使用"=="操作符时,JavaScript会尝试各种求值,以检测两者是否会在某种情况下相等。所以下面的表达式结果为true: strA== strB。
第二种操作符是"严格"的"===",它在求值时不会这么宽容,不会进行类型转换。所以表达式strA=== strB的值为false,虽然两个变量持有的值相同。
有时代码的逻辑要求你判断两个值是否不相等,这里也有两个选择:"!="和严格的"!==",它们的关系就类似于"=="和"==="。
讨论:
"=="和"!="在求值时会尽可能地寻找值的匹配性,但你可能还是想在比较前进行显式的类型转换,以"帮助"它们完成工作。比如,如果想判断一个用户的输入值(字符串)是否等于一个数字,你可以让"=="帮你完成类型转换:
if(document.form1.txtAge.value== someNumericVar){...}
也可以提前转换:
if(parseInt(document.form1.txtAge.value)== someNumericVar){...}
如果你比较习惯于强类型的编程语言(比如C#,Java等),那么这里你可以延续你的习惯(类型转换),这样也会增强程序的可读性。
有一种情况需要注意,就是计算机的区域设置。如果用"<"和">"来比较字符串,那么JavaScript把它们作为Unicode来比较,但显然,人们在浏览网页时不会把文本当作Unicode来阅读:)比如在西班牙语中,按照传统的排序,"ch"将作为一个字符排在"c"和"d"之间。localeCompare()提供了一种方式,可以帮助你使用默认区域设置下的字符排序规则。
var strings;//要排序的字符串数组,假设已经得到初始化
strings.sort(function(a,b){ return a.localeCompare(b)});//调用sort()方法进行排序
6、字符串的查找
使用string的indexOf()方法:
strObj.indexOf(subString[, startIndex])
strObj为要进行判断的字符串,subString为要在strObj查找的子字符串,startIndex是可选的,表示查找的开始位置(基于0的索引),如果startIndex省略,则从strObj开始处查找,如果startIndex小于0,则从0开始,如果startIndex大于最大索引,则从最大索引处开始。
indexOf()返回strObj中subString的开始位置,如果没有找到,则返回-1。在脚本中,可以这么使用:
if(largeString.indexOf(shortString)!=-1)
{
//如果包含,进行相应处理;
}
也许一个字符串会包含另一字符串不止一次,这时第二个参数startIndex也许会派上用场,下面这个函数演示如何求得一个字符串包含另外一个字符串的次数:
function countInstances(mainStr, subStr)
{
var count= 0;
var offset= 0;
do
{
offset= mainStr.indexOf(subStr, offset);
if(offset!=-1)
{
count++;
offset+= subStr.length;
}
}while(offset!=-1)
return count;
}
String对象有一个与indexOf()对应的方法,lastIndexOf():
strObj.lastIndexOf(substring[, startindex])
strObj为要进行判断的字符串,subString为要在strObj查找的子字符串,startIndex是可选的,表示查找的开始位置(基于0的索引),如果startIndex省略,则从strObj末尾处查找,如果startIndex小于0,则从0开始,如果startIndex大于最大索引,则从最大索引处开始。该方法自右向左查找,返回subString在strObj中最后出现的位置,如果没有找到,返回-1。
20条常见的编码陷阱之JavaScript篇
不管你现在的编程技能有多么的高超曾经你也是个亦步亦趋不断的学习的初学者在编程这条曲折的道路上我想你肯定犯过一些低级的错误遇见过一些普通的编码陷阱
不必要的DOM操作
例如下面这段代码
// anti pattern
for(var i=; i<; i++){
var li=$(<li>)( This is list item#+(i+))
$(#someUL) append(li)
}
这段代码对DOM进行了次修改并且创建了个不必要的jQuery对象正确的做法是使用一个文档片段或者创建一个字符串把个<li>元素赋给该字符串然后附加到HTML中这样就只需运行DOM一次代码如下
var liststring=;
for(var i=; i>; i){
liststring+=<li>This is list item#+( i)
}
document getElementById( someUL) innerHTML(liststring)
正如上面所描述的一样下面再提供一个方式使用数组
var liststring=<li>
var lis= [];
for(var i=; i>; i){
lis push( This is list item#+( i))
}
liststring+= lis join(</li><li>)+</li>;
document getElementById( someUL) innerHTML(liststring)
这是在JavaScript创建重复HTML最快最简单的方法无需使用模板库或框架
不一致的变量名和函数名
这个问题是非常重要的尤其当你在别人的代码上工作时一定要保持标识符(变量名和函数名)一致例如下面这段代码
var foo= bar;
var plant= green;
var car= red;
通常人们并不会设置变量名叫Something这涉及到命名规则问题命名应清晰明了一目了然很多编程语言地变量命名都使用大写
下面是对函数的命名
function subtractFive(number){
return number;
}
语法结构清晰并且能起到解释性功能
例如想要对给定的数字加仍采用上述命名模式比如
function addFive(number){
return number+;
}
有时你会根据返回值命名例如该函数要返回一个HTML字符串那么可以命名为getTweetHTML()如果函数只是做一些操作无需返回值那么可以在前面加一个do前缀例如doFetchTweets()
构造函数通常会遵循类原则大写第一个字母
function Dog(color){
lor= color;
}
命名应带有描述性比如操作型的函数在前面加do另外要具备可读性和提示性
在for…Loops中使用hasOwnProperty()方法
JavaScript数组是没有关联的可以把它当做哈希表使用循环来遍历对象属性
for(var prop in someObject){
alert(someObject[prop])// alert s value of property
}
然而存在的问题是for…in loop是在对象属性链上遍历每个枚举类型的属性如果你只想使用对象实际拥有的属性这可能有问题的那怎么解决呢?你可以使用hasOwnProperty()方法代码如下
for(var prop in someObject){
if(someObject hasOwnProperty(prop)){
alert(someObject[prop])// alert s value of property
}
}
比较布尔值
把布尔值作为条件进行比较其实这是在浪费电脑的计算时间看下面这个例子吧
if(foo== true){
// do something for true
} else{
// do something for false
}
其实foo==true这个比较完全是多余的因为foo已经是布尔类型直接这样写就行
if(foo){
// do something for true
} else{
// do something for false
}
又或者这样写
if(!foo){
// do something if foo is false
} else{
// do something if foo is true
}
事件绑定
在JavaScript中事件是个复杂的问题事件冒泡(event bubbling)和委托正在取代内联事件(inline onclick)操作(一些特殊的初始页除外)
假设你有一个图片网格需要启动一个modal lightbox窗口千万不要采取下面的做法示例采用的是jQuery如果你使用相似的库或者其他冒泡机制也同样适合传统的JavaScript
相关的HTML代码
<div id= grid container>
<a><img src= someimage thumb jpg></a>
<a><img src= someimage thumb jpg></a>
<a><img src= someimage thumb jpg></a>
…
</div>
不好的JavaScript写法
$( a) on( click function(){
callLightbox(this)
})
这段代码假设调用lightbox里面传递一个anchor元素并且引用全屏图片与其绑定每个anchor元素还不如直接使用#grid container元素
$(#grid container) on( click a function(event){
callLightbox(event target)
})
在这段代码中 this和event target都表示anchor元素同样你也可以在任何父元素上使用只要保证所定义的元素是事件目标就行(event s target)
避免三元冗余
在JavaScript和PHP中过度使用三元语句是很常见的事情
// javascript
return foo toString()!==? true: false;
// php
return(something())? true: false;
条件判断的返回值永远只有false和true言外之意就是你无需把true和false显示添加到三元运算中相反你只需简单的返回条件
// javascript
return foo toString()!==;
// php
lishixinzhi/Article/program/Java/JSP/201311/19714
javascript代码示例的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java代码、javascript代码示例的信息别忘了在本站进行查找哦。