1 什么是JavaScript?

是一种嵌入在网页中的程序段。

是一种解释型语言,被浏览器解释执行。

由Netscape发明,ECMA(欧洲计算机制造商协会)将其标准化。

JavaScript借用了Java的名字,但它和java没有关系。

出于安全性考虑,增加了JavaScript的限制

增强客户端的交互功能。

 

JavaScript与java的区别:

JS只在浏览器中执行,java可在各种平台上执行。

JS也有变量,常量,运算符,关键字,数据类型,语句等。

JS借用了Java的语法,其运算符和表达式与Java非常相似。

 

2 JavaScript能做什么?

可以使用JS添加、删除、修改网页上的所有元素及属性。

在HTML网页中动态写入文本。

响应网页中的事件,并做出相应处理。

可用于较验客户端提交的数据。

检测浏览器类型及版本。

    (判断浏览器类型:)

javascript 核心技术开发解密 javascript核心语法_数组

javascript 核心技术开发解密 javascript核心语法_html_02

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title>跨浏览器编程</title>
    <script type="text/javascript">
        function browserType(even){
            if(window.event){//判断是不是IE浏览器
              document.getElementById('p1').innerHTML='IE';
            }
            else if(even){//判断是不是DOM兼容浏览器
               document.getElementById('p1').innerHTML='DOM' ;
            }
        }


    </script>
</head>
<body>
<button onclick="browserType(event);"> Hello JavaScript Event Object</button>
<p id="p1">到底是什么浏览器呢</p>
</body>
</html>

View Code

 

处理Cookie.

 

3 JavaScript的技术体系

核心语言定义

原生对象和内置对象

BOM(浏览器对象模式)

DOM (文档对象模式)

事件处理模型

 

4 将JavaScript添加到XHTML文档中

 使用script元素在XHTML文档中直接嵌入JavaScript语句---方便

javascript 核心技术开发解密 javascript核心语法_数组

javascript 核心技术开发解密 javascript核心语法_html_02

1 <!DOCTYPE html>
 2 <html>
 3 <head lang="en">
 4     <meta charset="UTF-8">
 5     <title></title>
 6 </head>
 7 <body>
 8 <script type="text/javascript">
 9     alert("使用script元素在XHTML文档中直接嵌入JavaScript语句");
10 </script>
11 
12 </body>
13 </html>

View Code

 将JavaScript源文件通过<script>元素的src属性链接到XHTML文档---结构、表现、行为分离

javascript 核心技术开发解密 javascript核心语法_数组

javascript 核心技术开发解密 javascript核心语法_html_02

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title></title>
    <script type="text/javascript" src="../js/two.js"></script>
</head>
<body>
<form action="#" method="get">
    <input type="button" value="点击" onclick="alertTest();">
</form>

</body>
</html>

View Code

 在two.js里包含的脚本

function alertTest(){
    alert("链接外部脚本");
}

 脚本包含在XHTML事件处理程序性中,eg:onclick  ondblclick onkeydown ...

javascript 核心技术开发解密 javascript核心语法_数组

javascript 核心技术开发解密 javascript核心语法_html_02

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title></title>
    <!--<script type="text/javascript" src="../js/two.js"></script>-->
</head>
<body>
<form action="#" method="get">
    <input type="button" value="点击" onclick="alert('脚本包含在XHTML中');">
</form>

</body>
</html>

View Code

5 JavaScript变量

JS中声明变量都用关键字var,并且JS区分大小写

弱类型,不一定要初始化

在声明变量时注意的一些小细节:

声明变量后 第一次给变量赋什么样类型的值,以后必须使用相同的类型

当我们没有使用var 定义变量的时候 如果没有给变量赋值 就会报错 如果给它赋值了。 宿主环境 (浏览器)就把 认为一个 全局变量

var  num;   当声明的变量未初始化时,值为undefined。
6 JavaScript数据类型
6.1 原始数据类型   


 typeof运算符
 typeof运算符有一个参数,即要检查的变量或值;
在使用typeof运算符时采用引用类型存储值会出现一个问题,无论引用的是什么类型的对象,他都返回"Object";
用另一个运算符instanceof来解决这个问题;
eg
var s=new String('hello js');
alert(s instanceof String);// 输出"true"
这个需要开发者明确的指出对象为某特定的类型

–Undefined:

•当声明的变量未初始化时,值为undefined。

•当函数无明确返回值时,其调用结果也是undefined。

 

javascript 核心技术开发解密 javascript核心语法_数组

javascript 核心技术开发解密 javascript核心语法_html_02

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title></title>
    <script>
       function test(){
         alert("1111");
         return 1;
         }
//         var i = test(); //当函数无明确返回值时,其调用结果也是undefined。
//           var i = test() ;// 先调用函数test 任何把返回值赋值为i   undefined
        var i = test ; //是把函数test的地址赋值给了i;
         alert(i);
         alert(typeof (i));
    </script>
</head>
<body>
</body>
</html>

View Code

–Null

•值为null,null是从Undefined派生来的。因此null==undefined

•null表示不存在的对象。

var i = null;
        alert(i);//null
        alert(typeof (i));//object

 

–Boolean

•true或false

–Number

•即可表示32位整数,也可表示64位浮点数。

•Number.MAX_VALUE和Number.MIN_VALUE定义了上下限。

•Number.POSITIVE_INFINITY和Number.NEGATIVE_INFINITY Infinity表示无穷大。isFinite()较验是否无穷大。无穷大返回false

•NaN表示非数字,它与自身不相等。一般发生在类型转换失败时,isNaN()较验是否为数字。

–String

•可用单引号或双引号声明。

数据类型转换

parseInt()

从左到右依次解析 直到遇见解析的那个字符不是是数字, 则结束

parseFloat

从左到右依次解析 直到遇见解析的那个字符不是是数字,则结束, 从有效数字开始,只会出现一个小数点。

var a = parseInt("1234"); //返回1234

var b = parseInt("abc"); //返回NaN

var b = parseFloat("012.23.45"); //返回12.23

 

强制类型转换有三种:Boolean(value)  Number(value)   String(value)

当要转换的值是至少有一个字符的字符串,非0数字或对象时,Boolean()函数返回true,如果该值是空字符串,数字0,undefined或null,将返回false;

Number 转换的时候 是把 字符串当一个整体来转换;
String 转换的时候 只需要调用作为参数传递进来的值的toString()方法;
6.2 引用数据类型

          原生对象

–由JavaScript提供,独立于浏览器的对象。

–Object,Array,String,Boolean,Number,Date,RegExp...

          内置对象

–也是一种原生对象,只是在使用时不需要初始化。

–Global,Math

         宿主对象

–与浏览器有关的对象。

–BOM,DOM

        自定义对象

 

数组对象:

Array

对数组的内部支持

Array.concat( )

连接数组

Array.join( )

将数组元素连接起来以构建一个字符串

Array.length

数组的大小

Array.pop( )

删除并返回数组的最后一个元素

Array.push( )

给数组添加元素

Array.reverse( )

颠倒数组中元素的顺序

Array.shift( )

将元素移出数组

Array.slice( )

返回数组的一部分

Array.sort( )

对数组元素进行排序

Array.splice( )

插入、删除或替换数组的元素

Array.toLocaleString( )

把数组转换成局部字符串

Array.toString( )

将数组转换成一个字符串

Array.unshift( )

在数组头部插入一个元素

 

 

 

 

 

 

 

 

每件事都需要坚持!