JavaScript学习心得之概述


Posted in Javascript onJanuary 20, 2015

  一、JavaScript是一种专为与网页交互而设计的脚本语言,它的的组成

ECMAScript(核心) DOM(文档对象模型) BOM(浏览器对象模型)

1.1ECMAScript

     ECMA-262定义的ECMAScrip与Web浏览器没有依赖关系,ECMA-262定义的只是这门语言的基础,提供核心语言功能

ECMAScript是通过ECMA-262标准化的脚本语言,ECMA-262规定语言的:语法、类型、语句、关键字、保留字、操作符、对象

1.2 DOM(Document Object Modle)
     DOM是针对XML但是经过扩展用于HTML的应用程序编程接口(API,Application Programming Interface),提供访问和操作网页内容的方法和接口

DOM把整个页面映射为一个多层节点结构,HTML或者XML等页面中的每个组成部分都是某种类型的节点,这些节点又包含不同类型的数据。

1.3 BOM(Bower Object Modle)

控制浏览器显示的页面以外的部分,BOM只处理浏览器窗口和框架,提供与浏览器交互的方法和接口

二、<script>元素
2.1引用javascript文件
 外部引用javascript文件:

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

页面嵌入javascript代码

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

包含在<script>元素内部的JavaScript代码将被从上至下依次解释

2.2 <script>元素的属性

defer延迟脚本:告诉浏览器立即下载,脚本会被延迟到整个页面都被解析完才执行, defer只适用于外部引入的脚本文件

<!DOCTYPE html>

<html>

    <head>

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

    </head>

</html>

虽然<script>标签位于<head>标签内,但是demo.js会延迟到浏览器遇到</html>后才执行。

async异步脚本:必让页面等待脚本的下载和执行,从而异步加载页面其他内容
同defer一样只适用于外部引入的脚本文件,async告诉浏览器立即下载文件,但与defer不同的是标记不async脚本并不保证按照指定它们的先后顺序执行,建议异步脚本不要在加载期间修改DOM

<!--异步脚本-->

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

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

2.3 <noscript>元素的属性

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<title>test</title>

<!--延迟脚本-->

<scripttype="text/javascript" defer="defer" src="example.js"></script>

<!--导部脚本-->

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

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

</head>

<body>

   <noscript>

    <p>本页显示需要浏览器支持(启用)Javascript

      </noscript>

</body>

</html>

浏览器不支持脚本

浏览器支持脚本,但脚本被禁用,浏览器就会显示<noscript>中的内容
这个页面会在脚本无效的情况下,向用户显示一条信息,而在启用了脚本的浏览器中,用户永远也不会看到它

以上就是本文的全部内容了,希望大家能够喜欢,本系列将持续更新。

Javascript 相关文章推荐
FileUpload 控件 禁止手动输入或粘贴的实现代码
Apr 07 Javascript
Javascript 类、命名空间、代码组织代码
Jul 31 Javascript
javascript在子页面中函数无法调试问题解决方法
Jan 17 Javascript
再谈JavaScript线程
Jul 10 Javascript
js限制文本框只能输入中文的方法
Aug 11 Javascript
详解JavaScript中|单竖杠运算符的使用方法
May 23 Javascript
深入理解angularjs过滤器
May 25 Javascript
分享javascript、jquery实用代码段
Oct 20 Javascript
jQuery获取选中单选按钮radio的值
Dec 27 Javascript
jQuery实现IE输入框完成placeholder标签功能的方法
Sep 20 jQuery
手把手教你vue-cli单页到多页应用的方法
May 31 Javascript
JS document内容及样式操作完整示例
Jan 14 Javascript
DOM基础教程之使用DOM
Jan 19 #Javascript
DOM基础教程之模型中的模型节点
Jan 19 #Javascript
javascript正则表达式使用replace()替换手机号的方法
Jan 19 #Javascript
javascript正则表达式之search()用法实例
Jan 19 #Javascript
jQuery中delegate()方法用法实例
Jan 19 #Javascript
jQuery中die()方法用法实例
Jan 19 #Javascript
jQuery中live()方法用法实例
Jan 19 #Javascript
You might like
vBulletin HACK----显示话题大小和打开新窗口于论坛索引页
2006/10/09 PHP
PHP中Date获取时间不正确怎么办
2008/06/05 PHP
php命令行使用方法和命令行参数说明
2014/04/08 PHP
PHP文件缓存类示例分享
2015/01/30 PHP
使用PHPExcel操作Excel用法实例分析
2015/03/26 PHP
PHP new static 和 new self详解
2017/02/19 PHP
PHP实现中国公民身份证号码有效性验证示例代码
2017/05/03 PHP
给Flash加一个超链接(推荐使用透明层)兼容主流浏览器
2013/06/09 Javascript
jQuery中get和post方法传值测试及注意事项
2014/08/08 Javascript
js+jquery实现图片裁剪功能
2015/01/02 Javascript
javascript弹出页面回传值的方法
2015/01/28 Javascript
javascript中Math.random()使用详解
2015/04/15 Javascript
JavaScript提高性能知识点汇总
2016/01/15 Javascript
基于JS实现新闻列表无缝向上滚动实例代码
2016/01/22 Javascript
ES6 如何改变JS内置行为的代理与反射
2019/02/11 Javascript
Vue2.0 ES6语法降级ES5的操作
2020/10/30 Javascript
Python的Twisted框架中使用Deferred对象来管理回调函数
2016/05/25 Python
python验证码识别教程之利用滴水算法分割图片
2018/06/05 Python
python3爬虫之设计签名小程序
2018/06/19 Python
python检测IP地址变化并触发事件
2018/12/26 Python
Python字符串逆序输出的实例讲解
2019/02/16 Python
Django使用unittest模块进行单元测试过程解析
2019/08/02 Python
基于python修改srt字幕的时间轴
2020/02/03 Python
python实现查找所有程序的安装信息
2020/02/18 Python
Python生成器实现简单&quot;生产者消费者&quot;模型代码实例
2020/03/27 Python
Python pymsql模块的使用
2020/09/07 Python
PyCharm 2020.2.2 x64 下载并安装的详细教程
2020/10/15 Python
linux面试题参考答案(5)
2014/09/01 面试题
生物化工专业个人自荐信
2013/09/26 职场文书
科研先进个人典型材料
2014/01/31 职场文书
教师党员个人总结
2015/02/10 职场文书
企业办公室主任岗位职责
2015/04/01 职场文书
行政复议决定书
2015/06/24 职场文书
《巨人的花园》教学反思
2016/02/19 职场文书
导游词之南昌滕王阁
2019/11/29 职场文书
详解JAVA中的OPTIONAL
2021/06/14 Java/Android