JavaScript快速教程

 

为什么使用Javascript

由于HTML是一种简单的文本标记语言,它不能响应用户、做出决策或者自动执行重复性任务。像这样的交互式任务需要更先进的语言:程序设计语言或者脚本编程(javascript)语言。javascript做的很多事情都涉及与用户交互,这意味着相应事件(event)。

Javascript能力

表单验证

表单验证是JavaScript的另一种常见的应用,尽管HTML5的表单验证特性也在这里抢了JavaScript 的许多风头。一个简单的脚本就可以读取用户输入到表单中的值,并且确保它们具有正确的格式,如邮政编码、电话号码和电子邮件地址。这类客户端验证使用户能够修正常见的错误,而无需等待来自Web服务器的响应,以告诉他们表单提交是无效的。

特殊效果

最容易、最讨厌的JavaScript应用之一是创建吸引注意力的特殊效果——例如,在浏览器的状态栏中滚动消息,或者使页面的背景色闪光。
这些技术幸运地不落俗套,但是由于W3CDOM和最新的浏览器的出现,利用JavaScript创建一些更令人印象深刻的效果是可能的一—例如,在页面上创建可以拖放的对象,或者在幻灯片放映中创建图像之间的渐隐过渡效果。一些开发人员结合使用HTML5、CSS3和JavaScript,创建了全功能的交互式游戏。

远程脚本调用(AJAX)

长时间以来,lav6S。mm的最大根制是无法使之与Wb服务器通信。例如,可以使用它来验证电话号码具有正确的位数,但是不能基于电话号码在数据库中查找用户的位置。然而现在,你的脚本无须加载页面即可从服务器获取数据,或者把数据发回给服务器以进行保存。这些特性统称为AJAX(Asynchronous JavaScript And XML,异步JavaScript和XML)或者远程脚本调用(remote scripting)。如果你使用过Google的Gmail 邮件应用程序、Facebook,或者允许你评论故事、给最喜爱的选项投票或参与民意调查的任何在线新闻站点,那么你已经见过了AJAX的实际应用。它们都使用远程脚本调用展示一个可以响应的用户界面,该界面与后台的服务器协同工作。

首先运行那个脚本

在,WMeb文档内,实际上可以具有多个脚本:在单个文档内可以使用一组或多组<script>标签、外部javascript文件以及许许多多的事件处理程序。对于所有这些脚本,你可能感到迷惑的是浏览器怎样知道首先执行哪个脚本。好在这是以一种逻辑方式实现的。

  • HTML文档的<head>区域内的<script>标签组将首先被处理,而无论它们是包括嵌入式代码还是引用JavaScript文件。由于<head>区域内的这些脚本不能在Web 页面中产生输出,因此,最好在这里定义要使用的函数。
  • HTML文档的<body>区域内的<script>标签组将在<head>区域内的那些<script>标签组之后执行,同时加载并显示Web页面。如果页面主体中有两个或更多的脚本,它们将按顺序执行。
  • 当事件处理程序的事件发生时,就执行相应的事件处理程序。例如,当Web页面的主体加载时,将执行onload事件处理程序。由于<head>区域是在任何事件之前加载的,因此可以在那里定义函数,并在程序中使用他们。

JSON

尽管JSON(javascript object notation,javascript对象表示)不是核心javascript语言的一部分,但事实上它是一种构造和存储信息的常见方式,这些信息是由客户端上的基于javascript的功能使用或创建的。JSON编码的数据被表示为参数/值 对的序列,其中每一对都使用冒号把参数与值分隔开,这些“参数”:“值”对本身通过逗号分隔开,最后整个序列包围在大括号之间。

{"firstName": "Brett", "lastName": "McLaughlin"}

当今,JSON的最常见的应用之一是:作为由API以及其他数据馈送使用的一种数据交换格式,这些数据馈送是由前端应用程序使用的,它使用JavaScript解析这种数据。这使得人们越来越多地使用JSON代替其他数据格式(如XML),因为JSON具有以下优点。

  • 很容易被人和计算机读取。
  • 概念简单,JSON对象只是由大括号封闭的一系列”参数”:“值”对。
  • 基本上是自文档化的。
  • 可以快速创建和解析。
  • 无需特殊的解释器或者其他额外的程序包。

 

JavaScript在Web应用中的作用

JavaScript语法风格

JavaScript引入方式

1.页面中:<script type=“text/javascript”></script>

2.引入js文件:<script src=“xx.js”type=“text/javascript”></script>

注意:src引入的时候,js可以是网络资源

JavaScript命名规范

定义变量时可以不适用var,为了方便记忆还是使用吧

命名范围 : 数字,⼤大⼩小写字⺟母,下划线 _ ,美元符号 $(不不能以数字开头)

全大写为常量

var PI=3.1415926535var BAIDU=“https://www.baidu.com”;

JavaScript全部数据类型

字符串String

var str = “hello world!”;
str[0] -> “h”                                 以数组的⽅方式访问⼀一个字符
str.indexOf(“h”) -> 0                         在字符串串中查找某字符
str.replace(“hello”,”hi”) -> “hi world!”      替换字符串串的某⼀一段
str.length -> 12                              字符串串的⻓长度

在js中,单引号和双引号是可以互换的,但是要注意嵌套关系!

var test = “he say :’my name is jack’.”;//正确
var test = “he say :”my name is jack”.”;//错误

数字

取出字符串串的数字
① 取整数 parseInt(“1.23abc”) -> 1
② 取分数 parseFloat(“1.23abc”) -> 1.23

对象

javascript⾥里里最重要的类型,⼀一种数据的封装⽅方式

对象的语法格式

var myComputer = {
name : “我的电脑”,
brand : “dell”,
price : 4888
};
1. 对象的内容使⽤用花括号 { } 包围
2. 内容为键值对的形式
3. 键(key)不不需要括号,遵循js变量量命名规范
4. 值(value)可以为任何类型
5. 键值对之间以逗号隔开,最后⼀一个不不需要

对象的访问语法

var myComputer = {
name : “我的电脑”,
brand : “dell”,
price : 4888
};
点语法 myComputer.price -> 4888 ⽅方括号语法 myComputer[“price”] -> 4888

 

对象的分类:

1.内建对象

由ES标准中定义的对象,在任何的ES的实现中都可以使用

比如:Math String Number Boolean Function Object....

2.宿主对象

由JS的运行环境提供的对象,目前来讲主要指由浏览器提供的对象

比如BOMDOM

3.自定义对象

由开发人员自己创建的对象

 

函数

在JS中两种函数定义⽅方式,两种使⽤用并没有太⼤大的区别,但是由于⼀一些原因,⼀一般使⽤用后者

定义了了⼀一个名字为add的函数
function add (){} 

定义了了⼀一个没有名字的函数,然后使⽤用add这个变量量名来指向他
var add = function(){}

函数作为构造器器:⽤用于产⽣生对象

定义构造器器:
var Computer = function(price,brand){
    this.price = price; 
    this.brand = brand; 
    this.start = function(){
         console.log(“开机”)
    }
}

调⽤用构造器器:
var com_1 = new Computer(1000,”apple”);
{
    price : 1000,
    brand : “apple”
    start : function(){/**/}
}

js中一般习惯将构造器首字母大写。构造器的主要作用是用于产生一个对象,所以不需要return

new是构造器专属关键字,⽤用于使构造器器产⽣生⼀一个对象

函数和构造器器混⽤用的情况

var Computer = function(name,price){
    this.name = name ;
    return “运⾏行行结束”;
    this.price = price;
}

使⽤用函数调⽤用
Computer(“dell”,3000);
• 结果:返回”运⾏行行结束”
• name属性去到了了全局上
• this这时候代表的是window
• 不不会运⾏行行到price那⼀行

使⽤用构造器器调⽤用
var a = new Computer(“dell”,3000);
• 结果:返回对象,不不运⾏行行return
• 对象a带有属性name,不不带有price
• 不不会运⾏行行到price那⼀行

null、undefined 和 NaN

null

就是什什么都没有

typeof null -> “object”

不不是说好什什么都没有吗?你怎么是个对象呢??

undefined

未定义

var test ; test = undefined;
typeof undefined -> “undefined”

我以为你和null⼀一样假装什什么都没有其实是object,结果你⽜牛逼到⾃自⼰己就是⼀一个类型了了?

NaN

Not a Number  非数字

parseInt(“asd”) -> NaN
typeof NaN -> “number”

你不不是说你不不是数字吗?你丫怎么是数字类型呢?NaN是数字类型⼀一个特殊的值

 

 

 

 

转载于:https://www.cnblogs.com/kelamoyujuzhen/p/10304820.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值