搜尋
首頁web前端js教程Javascript_1_語法

Javascript_1_語法

Jan 18, 2017 pm 04:21 PM
javascript

Javascript_1_文法

<html xmlns="http://www.w3.org/1999/xhtml">
	<head>
    <meta http-equiv="Content-Type" content="text/html; charset=GBK" />
    <title>javascript演示1</title>
	</head>
	<body>
    <h1 id="javascript演示">javascript演示1</h1>
    javascript是基于对象和事件驱动的,用于客户端
    具有交互性、安全性(不允许访问本地硬盘)、跨平台性
    只需要解释就能执行,javascript是弱类型语言
    javascript与Html结合方式有两种:
    在body中,直接将代码放到script标签里面即可
    例如:
    <script type="text/javascript">
    	alert("hello world");
    </script>
    另外一种结合方式:
    当多个页面使用同一个javascript脚本的时候,
    可以将javascript脚本封装成一个后缀名为.js文件
    仍然是通过src标签,但用的是src属性引入该js脚本文件路径
    例如:
    <script type="text/javascript" src="a.js">
    	alert("hello world!!!!");//在已有src属性的script中,该js代码不会被执行!
    </script>
    值得注意的是:如果标签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关键字(Reserved Words)是指在Javascript语言中有特定含义,
    	成为Javascript语法中一部分的那些字。
    	Javascript关键字是不能作为变量名和函数名使用的。
    	使用Javascript关键字作为变量名或函数名,
    	会使Javascript在载入过程中出现编译错误。  
Javascript关键字列表:  
break delete function return typeof  
case do if switch var  
catch else in this void  
continue false instanceof throw while  
debugger finally new true with  
default for null try    

Javascript未来关键字(Javascript Future Reserved Words)  
Javascript还有一些未来关键字,这些字虽然现在没有用到Javascript语言中,
但是将来有可能用到。  

Javascript未来关键字列表:  
abstract double goto native static  
boolean enum implements package super  
byte export import private synchronized  
char extends int protected throws  
class final interface public transient  
const float long short volatile  
    	-->
    	javascript标识符:
    	标识符指的是javascript中定义的符号,
    	标识符可以由任意顺序的大小写字母、数字、下划线和美元符号组成,
    	但标识符不能以数字开头,也不能是javascript中的保留关键字。
    	并且要注意,javascript是严格区分大小写的。
    	<script type="text/javascript">
        var x=3;
        var X;
        alert("x="+x);//x=3
        alert("X="+X);//提示undefined,未初始化
        alert("Y="+Y);//因为Y没有定义过,所以无任何反应!
    	</script>
javascript是严格区分大小写的。
1、放置在<script></script>标签对之间
      标签对位置并不是固定的,可以出现在网页中的任何地方。
      在一个HTML文档可以有多个这样的标签对来嵌入多段javascript代码,
      每段代码可以相互访问,这同将所有的代码放在
      一对<script></script>中的效果是一样的。
2、将javascript代码放置在一个独立的js文件中
      使用<script src="js文件的url" type="text/javascript"></script>
      将所需要的文件引入到网页中。
3、将脚本程序代码作为属性值
      <a>标签的href属性除了可以使用http和mailto协议外,
      	还可以使用javascript协议,如:
       当单击这个超链接,IE将会执行javascript:后面的脚本程序代码。
       javascript扩展了标准的HTML,为HTML标签增加了各种事件属性,
       如button表单可以设置一个onclick属性,
       该属性值就可以设置为一段javascript程序代码,
       当单击这个按钮后,onclick属性值中的javascript代码就会被IE解释执行。
      <input type="button" value="test" onclick="alert(new Date());" />
      用作URL的javascript代码前要增加javascript:,说明使用的是javascript协议,
      但在事件属性中javascript程序代码前不需要增加javascrip:进行说明。
      <hr />
      在javascript里面,单引和双引都是字符串类型!
      而且单引和双引可以相互嵌套!
      <script type="text/javascript">
      	var a=3;//number
      	a="abc";//string
      	a=3.14159;//number
      	a=true;//boolean
      	a=&#39;c&#39;;//string
      	a=&#39;9&#39;;//string
      	var b=2467;
      	alert(b/1000*1000);
      	//结果仍然为2467!注意小心要与JAVA的区别!
      	var c=2.4+1.6;
      	alert(c);//结果为整数:4  注意小心要与JAVA的区别!
      	//加号对于字符串是连接符号!切记!
      	
      </script>
	</body>
</html>


2

<html xmlns="http://www.w3.org/1999/xhtml">
	<head>
    <meta http-equiv="Content-Type" content="text/html; charset=GBK" />
    <title>javascript演示2</title>
	</head>
	<body>
    <h1 id="javascript演示">javascript演示2</h1>
    <script type="text/javascript">
    	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
    </script>
	</body>
</html>


<html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=GBK" />
    <title>javascript演示3</title>
    </head>
    <body>
    <h1 id="javascript演示">javascript演示3</h1>
    <script type="text/javascript" src="a.js">    </script>
    <script type="text/javascript" >
        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(&#39;true&#39;));//string
        println(typeof("true"));//string
        println(typeof(&#39;9&#39;));//string
        println(typeof(&#39;A&#39;));//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("<font color=&#39;red&#39; >");
        //注意for 循环里面是var 不是int
        for (var i=0; i < 3; i++) {
          println(i);
        }
        document.write("</font>");
        //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("<br />");
        }
        println("<hr />");
        //小练习2:用表格打印99乘法表
        println("<table>")
        for (var i=1; i <=9; i++) {
          document.write("<tr>");
          for(var j=1; j<=i; j++){
            document.write("<td width=150>"+j+"×"+i+"="+i*j+"</td>");
          }
         document.write("</tr>");
        }
        println("</table>")
        //数组定义有两种形式:
        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]=&#39;A&#39;;
        arr2[2]=&#39;9&#39;;
        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()没有返回结果!
    </script>
    </body>
</html>


陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
Python和JavaScript的未來:趨勢和預測Python和JavaScript的未來:趨勢和預測Apr 27, 2025 am 12:21 AM

Python和JavaScript的未來趨勢包括:1.Python將鞏固在科學計算和AI領域的地位,2.JavaScript將推動Web技術發展,3.跨平台開發將成為熱門,4.性能優化將是重點。兩者都將繼續在各自領域擴展應用場景,並在性能上有更多突破。

Python vs. JavaScript:開發環境和工具Python vs. JavaScript:開發環境和工具Apr 26, 2025 am 12:09 AM

Python和JavaScript在開發環境上的選擇都很重要。 1)Python的開發環境包括PyCharm、JupyterNotebook和Anaconda,適合數據科學和快速原型開發。 2)JavaScript的開發環境包括Node.js、VSCode和Webpack,適用於前端和後端開發。根據項目需求選擇合適的工具可以提高開發效率和項目成功率。

JavaScript是用C編寫的嗎?檢查證據JavaScript是用C編寫的嗎?檢查證據Apr 25, 2025 am 12:15 AM

是的,JavaScript的引擎核心是用C語言編寫的。 1)C語言提供了高效性能和底層控制,適合JavaScript引擎的開發。 2)以V8引擎為例,其核心用C 編寫,結合了C的效率和麵向對象特性。 3)JavaScript引擎的工作原理包括解析、編譯和執行,C語言在這些過程中發揮關鍵作用。

JavaScript的角色:使網絡交互和動態JavaScript的角色:使網絡交互和動態Apr 24, 2025 am 12:12 AM

JavaScript是現代網站的核心,因為它增強了網頁的交互性和動態性。 1)它允許在不刷新頁面的情況下改變內容,2)通過DOMAPI操作網頁,3)支持複雜的交互效果如動畫和拖放,4)優化性能和最佳實踐提高用戶體驗。

C和JavaScript:連接解釋C和JavaScript:連接解釋Apr 23, 2025 am 12:07 AM

C 和JavaScript通過WebAssembly實現互操作性。 1)C 代碼編譯成WebAssembly模塊,引入到JavaScript環境中,增強計算能力。 2)在遊戲開發中,C 處理物理引擎和圖形渲染,JavaScript負責遊戲邏輯和用戶界面。

從網站到應用程序:JavaScript的不同應用從網站到應用程序:JavaScript的不同應用Apr 22, 2025 am 12:02 AM

JavaScript在網站、移動應用、桌面應用和服務器端編程中均有廣泛應用。 1)在網站開發中,JavaScript與HTML、CSS一起操作DOM,實現動態效果,並支持如jQuery、React等框架。 2)通過ReactNative和Ionic,JavaScript用於開發跨平台移動應用。 3)Electron框架使JavaScript能構建桌面應用。 4)Node.js讓JavaScript在服務器端運行,支持高並發請求。

Python vs. JavaScript:比較用例和應用程序Python vs. JavaScript:比較用例和應用程序Apr 21, 2025 am 12:01 AM

Python更適合數據科學和自動化,JavaScript更適合前端和全棧開發。 1.Python在數據科學和機器學習中表現出色,使用NumPy、Pandas等庫進行數據處理和建模。 2.Python在自動化和腳本編寫方面簡潔高效。 3.JavaScript在前端開發中不可或缺,用於構建動態網頁和單頁面應用。 4.JavaScript通過Node.js在後端開發中發揮作用,支持全棧開發。

C/C在JavaScript口譯員和編譯器中的作用C/C在JavaScript口譯員和編譯器中的作用Apr 20, 2025 am 12:01 AM

C和C 在JavaScript引擎中扮演了至关重要的角色,主要用于实现解释器和JIT编译器。1)C 用于解析JavaScript源码并生成抽象语法树。2)C 负责生成和执行字节码。3)C 实现JIT编译器,在运行时优化和编译热点代码,显著提高JavaScript的执行效率。

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

Atom編輯器mac版下載

Atom編輯器mac版下載

最受歡迎的的開源編輯器

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

EditPlus 中文破解版

EditPlus 中文破解版

體積小,語法高亮,不支援程式碼提示功能

Dreamweaver Mac版

Dreamweaver Mac版

視覺化網頁開發工具

SublimeText3 英文版

SublimeText3 英文版

推薦:為Win版本,支援程式碼提示!