JavaWeb:JavaScript

1. JavaScript概述

Javascript是基于对象和事件驱动的脚本语言,主要应用在客户端

  • 基于对象:提供好了很多对象,可以直接拿过来使用
  • 事件驱动:html做网站静态效果,javascript动态效果
  • 客户端:专门指的是浏览器

JavaScript的特点:

  • 交互性:信息的动态交互
  • 安全性:不可以直接访问本地硬盘
  • 跨平台性:只要是可以解析js的浏览器都可以执行,和平台无关

javascript和java的区别(雷锋和雷峰塔)

  • java是sun公司,现在oracle;js是网景公司
  • JavaScript 是基于对象的,java是面向对象
  • java是强类型的语言,js是弱类型的语言
  • 比如java里面 int i = “10”;
  • js: var i = 10; var m = “10”;
  • JavaScript只需解析就可以执行,而java需要先编译成字节码文件,再执行

2. JavaScript与java不同

  • Netscape公司开发的一种脚本语言 ,并且可在所有主要的浏览器中运行 :IE、Firefox、Chorme、Opera
  • JavaScript 是基于对象的,java是面向对象
  • JavaScript只需解析就可以执行,而java需要先编译成字节码文件,再执行
  • JavaScript 是一种弱类型语言,java是强类型语言

ECMA-262 是正式的 JavaScript 标准。这个标准基于 JavaScript (Netscape) 和 JScript (Microsoft)。

Netscape (Navigator 2.0) 的 Brendan Eich 发明了这门语言,从 1996 年开始,已经出现在所有的 Netscape 和 Microsoft 浏览器中。

ECMA-262 的开发始于 1996 年,在 1997 年 7 月,ECMA 会员大会采纳了它的首个版本。

在 1998 年,该标准成为了国际 ISO 标准 (ISO/IEC 16262)。这个标准仍然处于发展之中。

3. JavaScript历史

  • 在早期浏览器竞争的背景下,各浏览器厂商标新立异,独树一帜,JavaScript 脚本编写者们苦不堪言

  • W3C、ECMA 的不懈努力下,随着Microsoft 的 IE浏览器的不断改进,一个遵奉标准、笃行规范的 Web 新世界展现在世人面前

JavaScript

4. JavaScript语言组成

一个完整 JavaScript实现由以下3个部分组成

  • 核心(ECMAScript),ECMA:欧洲计算机协会,由ECMA组织制定的js的语法,语句..
  • 文档对象模型(DOM:Document Object Model)
  • 浏览器对象模型(BOM:Broswer Object Model)

JavaScript

5. js和html的结合方式

第一种:使用一个标签

 <script type="text/javascript">  js代码; </script>

第二种:使用script标签,引入一个外部的js文件

创建一个js文件,写js代码

<script type="text/javascript" src="1.js"></script>

使用第二种方式时候,就不要在script标签里面写js代码了,不会执行。

6. JavaScript的基础

6.1 JavaScript的变量

JavaScript是弱变量类型的语言。弱变量类型:定义变量的时候变量没有具体的类型,当变量被赋值的时候变量才会有具体的数据类型

// 定义变量  在JavaScript中定义所有的变量都使用var.
var a = 1;
var b = "abc";
var c = true;
var d = 'bcd';

// 如果了解变量的具体类型  那么可以使用 typeof
alert(typeof(a));   //  output number
alert(typeof(b));   //  output string
alert(typeof(c));   //  output boolean
alert(typeof(d));   //  output string

// 在JavaScript中 定义字符串  可以使用单引号 或者 双引号

6.2 JavaScript的数据类型

6.2.1 JavaScript和Java一样存在两种数据类型

  • 原始值 (存储在栈Stack中简单数据)
  • 引用值 (存储在堆heap中对象)

6.2.2 5种原始数据类型

  • Undefined、Null、Boolean、Number 和 String
  • JavaScript中字符串是原始数据类型

6.2.3 通过typeof运算符,查看变量类型

所有引用类型都是object

6.2.4 通过instanceof 运算符解决typeof对象类型判断问题

在使用 typeof 运算符时采用引用类型存储值会出现一个问题,无论引用的是什么类型的对象,它都返回 “object”。ECMAScript 引入了另一个 Java 运算符 instanceof 来解决这个问题。instanceof 运算符与 typeof 运算符相似,用于识别正在处理的对象的类型。与 typeof 方法不同的是,instanceof 方法要求开发者明确地确认对象为某特定类型。例如:

var oStringObject = new String("hello world");
alert(oStringObject instanceof String); //输出 "true"

6.2.5 区分 undefined 和 null

  • undefined:变量定义了未初始化或访问对象不存在属性
  • null:表示访问的对象不存在
//var div1 = document.getElementById("div1111");
//alert(div1);  // null

var a;
if(a == undefined){
   alert("a没有初始化");
}

//var div1 = document.getElementById("div1")
//alert(div1.href);

6.3 JavaScript的语句

条件语句

两种:if语句 和 switch语句

if语句:

var i = 6;

if(i>5){
        alert("i>5");
}else{
        alert("i<=5");
}

switch语句

 var a = "2";
// Java中switch作用在什么上?
// 在Java中 switch()  可以 byte short char int  不可以 long  String类型也是不可以 但是在JDK1.7中String类型可以作用在switch上.
// 在JavaScript中 switch是否可以作用在string上. string在JavaScript中是原始数据类型.
switch(a){
      case "1":
            alert("a==1");
            break;
      case "2":
            alert("a==2");
            break;
      case "3":
            alert("a==3");
            break;
      default:
            alert("a是其他值");
}

if语句比较的时候 全等和非全等(=== !==)

var a = "98";
// 与Java不一样的地方.  == 比较的值. 而且可以进行简单的类型转换.
// 在JavaScript中有一个 === 全等. (值相等 而且 类型也要相等.)
if(a === 98){
        alert("a等于98");
}else{
        alert("a不等于98");
}

循环语句

for语句

var arr = [11,22,33,44];

/*
for(var i = 0;i<arr.length;i++){
        alert(arr[i]);
}
*/

while语句

var i = 0;
while(i<arr.length){
   alert(arr[i]);
   i++;
}

dowhile

var i = 0;
do{
  alert(arr[i]);
  i++;
}while(i<arr.length);

for in

for(var i in arr){
    alert(arr[i]);
}

6.4 JavaScript中的数组

// 定义数组.
var arr1 = [];   // 定义一个空数组
var arr2 = [11,22,33,44];  // 定义了一个有元素的数组.
var arr3 = [11,true,'abc']; // 定义一个数组 存入不同的数据类型. 但是一般不建议这样使用.

/*
for(var i = 0;i<arr3.length;i++){
                alert(arr3[i]);
}
*/
// 定义数组 使用对象定义
var a
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值