首頁 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>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>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>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

熱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

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

熱門文章

<🎜>:泡泡膠模擬器無窮大 - 如何獲取和使用皇家鑰匙
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
北端:融合系統,解釋
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
Mandragora:巫婆樹的耳語 - 如何解鎖抓鉤
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Java教學
1664
14
CakePHP 教程
1423
52
Laravel 教程
1321
25
PHP教程
1269
29
C# 教程
1249
24
如何使用WebSocket和JavaScript實現線上語音辨識系統 如何使用WebSocket和JavaScript實現線上語音辨識系統 Dec 17, 2023 pm 02:54 PM

如何使用WebSocket和JavaScript實現線上語音辨識系統引言:隨著科技的不斷發展,語音辨識技術已成為了人工智慧領域的重要組成部分。而基於WebSocket和JavaScript實現的線上語音辨識系統,具備了低延遲、即時性和跨平台的特點,成為了廣泛應用的解決方案。本文將介紹如何使用WebSocket和JavaScript來實現線上語音辨識系

WebSocket與JavaScript:實現即時監控系統的關鍵技術 WebSocket與JavaScript:實現即時監控系統的關鍵技術 Dec 17, 2023 pm 05:30 PM

WebSocket與JavaScript:實現即時監控系統的關鍵技術引言:隨著互聯網技術的快速發展,即時監控系統在各個領域中得到了廣泛的應用。而實現即時監控的關鍵技術之一就是WebSocket與JavaScript的結合使用。本文將介紹WebSocket與JavaScript在即時監控系統中的應用,並給出程式碼範例,詳細解釋其實作原理。一、WebSocket技

如何利用JavaScript和WebSocket實現即時線上點餐系統 如何利用JavaScript和WebSocket實現即時線上點餐系統 Dec 17, 2023 pm 12:09 PM

如何利用JavaScript和WebSocket實現即時線上點餐系統介紹:隨著網路的普及和技術的進步,越來越多的餐廳開始提供線上點餐服務。為了實現即時線上點餐系統,我們可以利用JavaScript和WebSocket技術。 WebSocket是一種基於TCP協定的全雙工通訊協議,可實現客戶端與伺服器的即時雙向通訊。在即時線上點餐系統中,當使用者選擇菜餚並下訂單

如何使用WebSocket和JavaScript實現線上預約系統 如何使用WebSocket和JavaScript實現線上預約系統 Dec 17, 2023 am 09:39 AM

如何使用WebSocket和JavaScript實現線上預約系統在當今數位化的時代,越來越多的業務和服務都需要提供線上預約功能。而實現一個高效、即時的線上預約系統是至關重要的。本文將介紹如何使用WebSocket和JavaScript來實作一個線上預約系統,並提供具體的程式碼範例。一、什麼是WebSocketWebSocket是一種在單一TCP連線上進行全雙工

JavaScript與WebSocket:打造高效率的即時天氣預報系統 JavaScript與WebSocket:打造高效率的即時天氣預報系統 Dec 17, 2023 pm 05:13 PM

JavaScript和WebSocket:打造高效的即時天氣預報系統引言:如今,天氣預報的準確性對於日常生活以及決策制定具有重要意義。隨著技術的發展,我們可以透過即時獲取天氣數據來提供更準確可靠的天氣預報。在本文中,我們將學習如何使用JavaScript和WebSocket技術,來建立一個高效的即時天氣預報系統。本文將透過具體的程式碼範例來展示實現的過程。 We

簡易JavaScript教學:取得HTTP狀態碼的方法 簡易JavaScript教學:取得HTTP狀態碼的方法 Jan 05, 2024 pm 06:08 PM

JavaScript教學:如何取得HTTP狀態碼,需要具體程式碼範例前言:在Web開發中,經常會涉及到與伺服器進行資料互動的場景。在與伺服器進行通訊時,我們經常需要取得傳回的HTTP狀態碼來判斷操作是否成功,並根據不同的狀態碼來進行對應的處理。本篇文章將教你如何使用JavaScript來取得HTTP狀態碼,並提供一些實用的程式碼範例。使用XMLHttpRequest

javascript如何使用insertBefore javascript如何使用insertBefore Nov 24, 2023 am 11:56 AM

用法:在JavaScript中,insertBefore()方法用於在DOM樹中插入一個新的節點。這個方法需要兩個參數:要插入的新節點和參考節點(即新節點將要插入的位置的節點)。

JavaScript與WebSocket:打造高效率的即時影像處理系統 JavaScript與WebSocket:打造高效率的即時影像處理系統 Dec 17, 2023 am 08:41 AM

JavaScript是一種廣泛應用於Web開發的程式語言,而WebSocket則是一種用於即時通訊的網路協定。結合二者的強大功能,我們可以打造一個高效率的即時影像處理系統。本文將介紹如何利用JavaScript和WebSocket來實作這個系統,並提供具體的程式碼範例。首先,我們需要明確指出即時影像處理系統的需求和目標。假設我們有一個攝影機設備,可以擷取即時的影像數

See all articles