Javascript_1_语法
javascript演示1javascript演示1
javascript是基于对象和事件驱动的,用于客户端
具有交互性、安全性(不允许访问本地硬盘)、跨平台性
只需要解释就能执行,javascript是弱类型语言
javascript与Html结合方式有两种:
在body中,直接将代码放到script标签里面即可
例如:
alert("hello world");
另外一种结合方式:
当多个页面使用同一个javascript脚本的时候,
可以将javascript脚本封装成一个后缀名为.js文件
仍然是通过src标签,但用的是src属性引入该js脚本文件路径
例如:
alert("hello world!!!!");//在已有src属性的script中,该js代码不会被执行!
值得注意的是:如果标签script中已经使用了src属性链接一个js脚本文本,
那么,在该script标签代码块内的js代码,将不会被执行!
因此:导入外部的js脚本文件时候,通常用单独的标签script封装!
Displays an alert dialogue box.
Supported Platforms
Mozilla: 1.0+, Chrome: 5.0+, Netscape: 2.0+, Safari: 1.0+, Opera: 7.0+, IE: 3.0+
Specification
javascript 1.0
所有的语言与html结合都是以标签的形式,比如Java用.....(这个还没学到)
javascript关键字:
javascript标识符:
标识符指的是javascript中定义的符号,
标识符可以由任意顺序的大小写字母、数字、下划线和美元符号组成,
但标识符不能以数字开头,也不能是javascript中的保留关键字。
并且要注意,javascript是严格区分大小写的。
var x=3;
var X;
alert("x="+x);//x=3
alert("X="+X);//提示undefined,未初始化
alert("Y="+Y);//因为Y没有定义过,所以无任何反应!
javascript是严格区分大小写的。
1、放置在标签对之间
标签对位置并不是固定的,可以出现在网页中的任何地方。
在一个HTML文档可以有多个这样的标签对来嵌入多段javascript代码,
每段代码可以相互访问,这同将所有的代码放在
一对中的效果是一样的。
2、将javascript代码放置在一个独立的js文件中
使用
将所需要的文件引入到网页中。
3、将脚本程序代码作为属性值
标签的href属性除了可以使用http和mailto协议外,
还可以使用javascript协议,如:
当单击这个超链接,IE将会执行javascript:后面的脚本程序代码。
javascript扩展了标准的HTML,为HTML标签增加了各种事件属性,
如button表单可以设置一个onclick属性,
该属性值就可以设置为一段javascript程序代码,
当单击这个按钮后,onclick属性值中的javascript代码就会被IE解释执行。
用作URL的javascript代码前要增加javascript:,说明使用的是javascript协议,
但在事件属性中javascript程序代码前不需要增加javascrip:进行说明。
在javascript里面,单引和双引都是字符串类型!
而且单引和双引可以相互嵌套!
var a=3;//number
a="abc";//string
a=3.14159;//number
a=true;//boolean
a='c';//string
a='9';//string
var b=2467;
alert(b/1000*1000);
//结果仍然为2467!注意小心要与JAVA的区别!
var c=2.4+1.6;
alert(c);//结果为整数:4 注意小心要与JAVA的区别!
//加号对于字符串是连接符号!切记!
2
javascript演示2javascript演示2
var a="12"+3;
alert(a);//结果为整数:123 注意!
//加号对于 字符串 是连接!
var b="12"-3;
alert(b);//结果为整数:9 注意减号可以正常运算!
//在js中false 就是0或者空(null)
//任何其实非0非空(null)的都是true,true默认值是1
alert(true+10);//11
alert(false+10);//10
var c=3;
var d=c++;
alert(c);//4
alert(d);//3
//在js中,单或和单与是位运算,返回值是数字
//只有&&和||返回真、假
var e=4;
alert(e>3&&e<9);//true
alert(e>6&&e<9);//false
alert(e>3&e<9);//1
alert(e>6&e<9);//0
alert(!e);//false
var f=6;
alert(f&3);//2
alert(5^3^3);//5
alert(6<<1);//12
alert(6>>1);//3
//三目运算符
3>2?alert("yes"):alert("no");//yes
alert(3>2?100:50);//100
javascript演示3javascript演示3
println("a.js文件自定义了打印函数println");
var a;
println(a); //undefined
println(a==undefined);//true
var b=4;
println(b==undefined);//false
/*
* 因此,undefined含义是:未定义,其实是个常量!
*/
println(typeof(2.5));//number
println(typeof(true));//boolean
println(typeof("abc"));//string
println(typeof('true'));//string
println(typeof("true"));//string
println(typeof('9'));//string
println(typeof('A'));//string
/*
* 单引号和双引号里面都是string类型
*/
var c=3;
if (c==4)
{println("yes");}
else
{println("no");}
//运行结果是:no
// 但如果将判断条件改成=,结果就是yes
//因为这时候已经是在给C赋值了
//所以我们建议:常量放左边 4==c
//这样子即使写错了,也会报错的!
if (c=4)
{println("yes");}
else
{println("no");}
var d=3;
if(d>1)
println("a");
else if(d>2)
println("b");
else if(d>2)
println("c");
else
println("d");
//运行结果是:a
var e="abc";
switch(e){
case "kkk":
println("1");
break;
case "abc":
println("2");
break;
case "nba":
println("3");
break;
default:
println("none");
break;
}
//运行结果是:2,无论default在最上面一句还是在最下面一句
//都必须先执行第1个case,所有case不满足的时候才会执行default!
//如果把default放到了第1位,并且没有break,那么当所有东西都不满足的时候,
//执行default的时候会把后面break之前的所有代码都当成是default的内容!
var f="abc";
switch(f){
default:
println("none");
case "cba":
println("1");
break;
case "kkk":
println("2");
break;
case "nba":
println("3");
break;
}
//循环三要素:明确条件,明确循环内容,控制循环次数!
var g=0;
while(g<3)//注意:这儿屁股后面写个结束分号;会要小命!
{
println(g);
g++;
}
document.write("");
//注意for 循环里面是var 不是int
for (var i=0; i < 3; i++) {
println(i);
}
document.write("");
//break和continue
for (var i=0; i < 3; i++) {
for(var j=0; j<4; j++){
println("i="+i);
break;
}
}//结果是012
label:for (var i=0; i < 3; i++) {
for(var j=0; j<4; j++){
println("i="+i);
break label;
}
}//结果是0
label:for (var i=0; i < 3; i++) {
for(var j=0; j<4; j++){
println("i="+i);
continue label;
}
}//结果是012
//小练习:打印99乘法表!
for (var i=1; i <=9; i++) {
for(var j=1; j<=i; j++){
document.write(j+"×"+i+"="+i*j+" ");
}
println("
");
}
println("
");
//小练习2:用表格打印99乘法表
println("
for (var i=1; i <=9; i++) {
document.write("
");for(var j=1; j<=i; j++){
document.write("
"+j+"×"+i+"="+i*j+"");}
document.write("
");}
println("
")//数组定义有两种形式:
var arr1=[2,4,6,7];
println(arr1);
println(typeof(arr1));//object
println(arr1.length);//4
//java中的数组只有length一个属性
//但JS中数组有许多属性
//遍历数组
for (var i=0; i < arr1.length; i++) {
println(arr1[i]);
}
//给数组元素赋值
arr1[6]=100;
for (var i=0; i < arr1.length; i++) {
println(arr1[i]);
}//数组会自动增长为7个成员,未定义的成员值是undefined
//数组特点
//1,长度可变
//2,元素类型任意!建议使用同一类型,操作方便
var arr2=[];//使用前必须先定义数组
arr2[0]="abc";
arr2[1]='A';
arr2[2]='9';
arr2[3]=4.5;
for (var i=0; i < arr2.length; i++) {
println(arr2[i]);
}
//数组定义的第2种方式,通过已有对象完成Array对象
var arr3=new Array();//相当于var arr3=[];
println(arr3.length);//0
var arr4=new Array(6);
println(arr4.length);//6
for (var i=0; i < arr4.length; i++) {
println(arr4[i]);
}//成员全是undefined
var arr5=new Array(2,4,6,7);
println(arr5.length);//长度是4
for (var i=0; i < arr5.length; i++) {
println(arr5[i]);
}//成员全是2,4,6,7
//总结一下:new Array()的括号里是1个数,则代表长度
//否则代表各个成员值!
//函数:未知的参与运算的内容,功能的结果
/*
* JS中函数定义的格式是:
* function 函数名(参数列表){
* 函数体;
* 返回值;
* }
* 然后在body里面任意script标签中通过函数名()调用
* 如果没有返回值,return可以不写
*/
function sayhello(str){
println(str);
return;
}
sayhello("hello world!");
//函数中参数列表中是不用var的,直接用变量名接收就可以了!
function add(x,y){
return x+y;
}
var sum=add(6,7);
println(sum);//13
//下面看看函数调用特殊情况!
function show(x,y){
println(x+"----"+y);
}
show(4,5);//正常调用:4----5
show(4);//4----undefined
show();//undefined----undefined
show(4,5,6);//4----5
/*
* 由上可知,JS不存在函数重载的形式
* 只要写函数名()就是调用了该函数,和参数无关
* 建议定义几个参数,就传几个参数
* JS的函数中有一个数组arguments[]
* 在对传入的参数进行存储和维护
*/
function show2(x,y){
println("arguments长度是:"+arguments.length);
for (var i=0; i < arguments.length; i++) {
println(arguments[i]);
}
}
show2();
show2(6);
show2(6,7);
show2(2,4,6,7);
//下面继续演示函数的特殊情况
function getSum(){
return 2467;
}
var sum=getSum();
println(sum);//这是正常情况下,返回2467
var sum2=getSum;//少写了()
println(sum2);//function getSum(){ return 2467; }
alert(sum2);//结果返回的是函数的字符串形式
/*
* 这是因为,函数一旦定义,在内存里,实际上是一个对象
* 函数名就是该对象的一个引用,该引用里存放的是函数的入口地址
* 上面那句少写括号,var sum2=getSum;//少写了()
* 实际上是把getSum存放的地址值赋给了sum2,
* 此时sum2也指向了函数对象在内存中的地址
* 也就是说,函数已经有了两个名字(函数名)
* 当使用alert(sum2)时,直接将函数对象按字符串打印
* 相当于java当中的toString方法
*
* 总结:函数本身就是一个对象,函数名只是一个引用
*/
function show3(){
alert("show3 run....");
}
alert(show3);//直接弹出函数对象的字符串形式
alert(show3());//先弹出show3 run....,再弹出undefined
//因为show3()没有返回结果!
以上就是Javascript_1_语法的内容,更多相关内容请关注PHP中文网(www.php.cn)!
本文原创发布php中文网,转载请注明出处,感谢您的尊重!