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 相关文章推荐
Ajax执行顺序流程及回调问题分析
Dec 10 Javascript
JS图片根据鼠标滚动延时加载的实例代码
Jul 13 Javascript
jquery.Ajax()方法调用Asp.Net后台的方法解析
Feb 13 Javascript
JS实现当前页居中分页效果的方法
Jun 18 Javascript
jQuery+HTML5实现图片上传前预览效果
Aug 20 Javascript
vue.js事件处理器是什么
Mar 20 Javascript
解决vue中无法动态修改jqgrid组件 url地址的问题
Mar 01 Javascript
浅谈Node.js 中间件模式
Jun 12 Javascript
微信小程序实现自动定位功能
Oct 31 Javascript
解决微信小程序中的滚动穿透问题
Sep 16 Javascript
Vue 技巧之控制父类的 slot
Feb 24 Javascript
加速vue组件渲染之性能优化
Apr 09 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
php strcmp使用说明
2010/04/22 PHP
PHP JSON格式数据交互实例代码详解
2011/01/13 PHP
PHP常用开发函数解析之数组篇[未完结]
2012/07/30 PHP
PHP间隔一段时间执行代码的方法
2014/12/02 PHP
js Dialog 去掉右上角的X关闭功能
2014/04/23 Javascript
jquery获取及设置outerhtml的方法
2015/03/09 Javascript
JS实现的最简Table选项卡效果
2015/10/14 Javascript
跨域资源共享 CORS 详解
2016/04/26 Javascript
跨域请求的完美解决方法(JSONP, CORS)
2016/06/12 Javascript
ReactNative踩坑之配置调试端口的解决方法
2017/07/28 Javascript
Vue组件通信中非父子组件传值知识点总结
2019/12/05 Javascript
js实现车辆管理系统
2020/08/26 Javascript
Ajax获取node服务器数据的完整步骤
2020/09/20 Javascript
python实现贪吃蛇小游戏
2020/03/21 Python
Python hmac模块使用实例解析
2019/12/24 Python
Python自动重新加载模块详解(autoreload module)
2020/04/01 Python
在服务器上安装python3.8.2环境的教程详解
2020/04/26 Python
零基础学Python之前需要学c语言吗
2020/07/21 Python
python 实现表情识别
2020/11/21 Python
两种CSS3伪类选择器详细介绍
2013/12/24 HTML / CSS
美国眼镜网站:LensCrafters
2020/01/19 全球购物
Ibatis如何调用存储过程
2015/05/15 面试题
关键字final的用法
2013/10/02 面试题
个人自我鉴定怎么写
2013/10/28 职场文书
教师的实习鉴定
2013/12/15 职场文书
圣诞节红领巾广播稿
2014/02/03 职场文书
计算机专业自荐信
2014/05/24 职场文书
个人承诺书格式
2014/06/03 职场文书
2014年居委会工作总结
2014/12/09 职场文书
2014年连锁店圣诞节活动方案
2014/12/09 职场文书
大足石刻导游词
2015/02/02 职场文书
硕士毕业答辩开场白
2015/05/27 职场文书
党风廉政教育心得体会2016
2016/01/22 职场文书
2021-4-3课程——SQL Server查询【2】
2021/04/05 SQL Server
Python实现DBSCAN聚类算法并样例测试
2021/06/22 Python
JavaScript实现登录窗体
2021/06/22 Javascript