一、什么是JavaScript

JavaScript是一种具有面向对象能力的、解释性的程序设计语言。更具体一点,它是基于对象和事件驱动并具有相对安全性的客户端脚本语言。因为他不需要在一个语言环境下运行,而只需要支持它的浏览器即可。它的主要目的是:验证发往服务器端的数据的合法性、增加web互动、加强用户体验度等。

  • 基于对象:JavaScript中内置了很多对象,直接调用对象的属性和方法进行操作,简化编程。
  • 事件驱动:程序开始运行到结束,可以一直侦听事件。
  • 解释性语言:不需要编译成计算机专门去读的文件,调用哪块解释哪块,并非一次性编译。例如:c#就是编译性语言,如果要运行C#语言编写的程序,就必须先编译成exe或者dll文件才能运行。而JavaScript不需要预先编译
  • 脚本语言:需要嵌入到别的语言之中,JS需要嵌入在HTML中,单独存在没有意义。

二、JavaScript和ECMAScript的关系

  • ECMAScript是JavaScript的标准和基础

三、JavaScript特点

1、松散性(弱类型)

JavaScript语言核心与C、C 、Java相似,比如条件判断、循环、运算符等。但是,它却是一种松散类型的语言,也就是说,它的变量不必具有一个明确的类型。(变量无需声明也可以使用,一个变量赋值为数字类型,还可以在赋值为字符串等其它类型)

2、对象属性

JavaScript中的对象把属性名映射为任意的属性值。它的这种方式很像哈希表或关联数组,而不像C中的结构体或者C 、Java中的对象。

3、继承机制

JavaScript中的面向对象继承机制是基于原型的(原型:最基础的基类),和C 以及Java中的继承大不相同(可以子类继承父类)。

4、严格区分大小写。

四、JavaScript组成部分

一个完整的JavaScript应该由下列三个不同的部分组成:

1、核心(ECMAScript)

  • 主要定义了JavaScript的语言基础部分,各个浏览器都严格遵守该规范,没有兼容性问题,ECMAScript规范由ECMA制订。组成部分:语法、类型、语句、关键字、保留字、操作符、对象等。

2、文档对象模型(DOM)

  • 文档对象模型(Document object Model)主要定义了如何将HTML转换成一颗符合DOM规范的树,并且如何对这棵树进行相应的操作。该规范由W3c定义,但是,部分浏览器没有严格遵守该规范,写代码时需要考虑兼容性问题。
  • HTML和XML的应用程序接口(API)。
  • 把整个页面规划为层级式的节点结构。

3、浏览器对象模型(BOM)

  • 浏览器对象模型(Browser Object Model)内置了一些对象,用来操作窗口,这些对象包括window、screen、location、navigator、document、xmlhttprequet,虽然该部分没有规范,但是,各个浏览器都支持这些对象。开发人员使用BOM可以控制浏览器显示页面以外的部分。而BOM真正与众不同的地方(也是经常会导致问题的地方),还是它作为JavaScript实现的一部分,至今仍没有相关的标准。

可对浏览器窗口进行访问和操作,包括:

  • 弹出新的浏览器窗口。
  • 移动、关闭浏览器窗口及调节浏览器窗口大小。
  • 获取用户屏幕分辨率的屏幕对象。
  • web浏览器详细的定位对象。

五、使用JavaScript

<Script>标签解析

<script>xxx</script>这组标签,是用于在HTML页面中插入JS的主要方法。它主要有以下几个属性:

  • 1、charset:可选。表示通过src属性指定的字符集。由于大多数浏览器忽略它,所以很少有人用它。
  • 2、defer:可选。表示脚本可以延迟到文档完全被解析和显示之后再执行。由于大多数浏览器不支持,故很少用。
  • 3、language:已废弃。原来用于代码使用的脚本语言。由于大多数浏览器忽略它,所以不要用了。
  • 4、src:可选。表示包含要执行代码的外部文件。
  • 5、type:必需。可以看作是language的替代品。表示代码使用的脚本语言的内容类型。范例:type="text/javascript"

<scripe>标签示例:

<script type="text/javascript">
   alert('欢迎来到JavaScript世界!');
</script>

六、JavaScript使用方式:

1、事件定义式:在定义事件时直接写入JavaScript脚本。

例如:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>事件定义式</title>
</head>
<body>
    <input type="button" value="点击" onclick="alert('我被点击了')" />
</body>
</html>

效果:

2、直接嵌入式:在网页中直接嵌入JavaScript。

例如:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>直接嵌入式</title>
    <script>
       function btnClick(){
           alert("我是写在head里面的JavaScript");
       };
    </script>
</head>
<body>
    <input type="button" value="点击" onclick="btnClick()" />
    <script>
       alert("我是写在body里面的JavaScript");
    </script>
</body>
</html>

效果:

注意:

  • 使用直接嵌入式的时候,JavaScript脚本可以写在<head>标签里面,也可以写在<body>标签里面。

3、文件调用式:在网页中调用独立的JavaScript文件。把js代码写在单独的一个js文件中,通过src属性引入即可。它具有维护性高、可缓存(加载一次,无需再次加载)、方便未来扩展的特点。

例如:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>文件调用式</title>
    <script src="../demo.js"></script>
</head>
<body>
    <input type="button" value="点击" onclick="btnClick()" />
</body>
</html>

注意:

  • 1、使用外部样式引入js,虽然没有任何代码了,但也不能使用单标签:
    <script type="text/javascript" src="demo.js"/>
  • 2、不能再里面添加任何代码,添加的代码执行不到
    <script type="text/javascript" src="demo.js">alert('我很可怜,因为执行不到')</script>

到此这篇关于JavaScript基础与实例的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持Devmax。

JavaScript基础介绍与实例的更多相关文章

  1. 基于JavaScript编写一个图片转PDF转换器

    本文为大家介绍了一个简单的 JavaScript 项目,可以将图片转换为 PDF 文件。你可以从本地选择任何一张图片,只需点击一下即可将其转换为 PDF 文件,感兴趣的可以动手尝试一下

  2. HTML5数字输入仅接受整数的实现代码

    这篇文章主要介绍了HTML5数字输入仅接受整数的实现代码,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

  3. amaze ui 的使用详细教程

    这篇文章主要介绍了amaze ui 的使用详细教程,本文通过多种方法给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

  4. html5简介_动力节点Java学院整理

    这篇文章主要介绍了html5简介,用于指定构建网页的元素,这些元素中的大多数都用于描述网页内容,有兴趣的可以了解一下

  5. ios 8 Homescreen webapp,关闭和打开iPad停止javascript

    我有一个适用于iPad的全屏HTML5网络应用程序,并且刚刚安装了IOS8来试用它,它一切正常,直到你关闭并重新启动iPad.一旦web应用程序重新启动javascript就会停止并加载新页面不会重新启动它.在iPad上的Safari中打开同一页面时,关闭和打开iPad会继续按预期工作.其他人注意到了这个或想出了一个解决方案吗?解决方法这似乎是我在iOS8.1.1更新中解决的.

  6. iOS 6 javascript与object.defineProperty的间歇性问题

    当访问使用较新的Object.defineProperty语法定义属性的对象的属性时,有没有其他人注意到新iOS6javascript引擎中的间歇性错误/问题?https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Object/defineProperty我正在看到javascript失败的情况,说

  7. ios – 如何使用JSExport导出内部类的方法

    解决方法似乎没有办法将内部类函数导出到javascript.我将内部类移出并创建了独立的类,它起作用了.

  8. 静音iOS推送通知与React Native应用程序在后台

    我有一个ReactNative应用程序,我试图获得一个发送到JavaScript处理程序的静默iOS推送通知.我看到的行为是AppDelegate中的didReceiveRemoteNotification函数被调用,但是我的JavaScript中的处理程序不会被调用,除非应用程序在前台,或者最近才被关闭.我很困惑的事情显然是应用程序正在被唤醒,并且它的didReceiveRemoteNotifi

  9. ios – 内存泄漏与UIWebView和Javascript

    清楚地包含一个Javascript文件到我的HTML是使UIWebView泄漏内存.当我重复使用相同的UIWebView对象时,或者每当我有内容实例化一个新的漏洞时,会出现泄漏的事实,导致我认为必须有一些JavaScript文件被loadHTMLString处理,导致泄漏.有人知道如何解决这个问题吗?

  10. iOS应用程序的UI自动化测试如何与乐器和Javascript

    从WWDC2010视频会议中了解iOS应用程序的自动化UI测试,但没有实践.从代码项目project,我们可以有一个例子.这个问题在这里听到有涉及这个的人.任何限制?解决方法我建议从AlexWollmer开始使用thisblogpost.他创建了一个非常有用的JavaScript库:tuneup_jswithtest()函数,它允许测试分离和有用的帮助者以及为自动化仪器编写测试的断言.

随机推荐

  1. js中‘!.’是什么意思

  2. Vue如何指定不编译的文件夹和favicon.ico

    这篇文章主要介绍了Vue如何指定不编译的文件夹和favicon.ico,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

  3. 基于JavaScript编写一个图片转PDF转换器

    本文为大家介绍了一个简单的 JavaScript 项目,可以将图片转换为 PDF 文件。你可以从本地选择任何一张图片,只需点击一下即可将其转换为 PDF 文件,感兴趣的可以动手尝试一下

  4. jquery点赞功能实现代码 点个赞吧!

    点赞功能很多地方都会出现,如何实现爱心点赞功能,这篇文章主要为大家详细介绍了jquery点赞功能实现代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

  5. AngularJs上传前预览图片的实例代码

    使用AngularJs进行开发,在项目中,经常会遇到上传图片后,需在一旁预览图片内容,怎么实现这样的功能呢?今天小编给大家分享AugularJs上传前预览图片的实现代码,需要的朋友参考下吧

  6. JavaScript面向对象编程入门教程

    这篇文章主要介绍了JavaScript面向对象编程的相关概念,例如类、对象、属性、方法等面向对象的术语,并以实例讲解各种术语的使用,非常好的一篇面向对象入门教程,其它语言也可以参考哦

  7. jQuery中的通配符选择器使用总结

    通配符在控制input标签时相当好用,这里简单进行了jQuery中的通配符选择器使用总结,需要的朋友可以参考下

  8. javascript 动态调整图片尺寸实现代码

    在自己的网站上更新文章时一个比较常见的问题是:文章插图太宽,使整个网页都变形了。如果对每个插图都先进行缩放再插入的话,太麻烦了。

  9. jquery ajaxfileupload异步上传插件

    这篇文章主要为大家详细介绍了jquery ajaxfileupload异步上传插件,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

  10. React学习之受控组件与数据共享实例分析

    这篇文章主要介绍了React学习之受控组件与数据共享,结合实例形式分析了React受控组件与组件间数据共享相关原理与使用技巧,需要的朋友可以参考下

返回
顶部