javascript基础语法学习笔记


Posted in Javascript onJanuary 04, 2016

一、定义

javascript是一门用来增强页面动态效果,实现页面与用户之间的实时、动态交互的脚本语言(解释型编程语言)。javascript由三部分组成:ECMA、DOM和BOM

[1]ECMAScript由ECMA-262定义,提供核心语言功能(ECMA是欧洲计算机制造商协会)

[2]DOM文档对象模型,提供访问和操作网页内容的方法的接口

[3]BOM浏览器对象模型,提供与浏览器交互的方法的接口 

二、引入

引入javascript有两种办法:在页面内嵌入js代码和引入外部文件

[1]页面内嵌入

<script>
  alert("My First JavaScript");
</script>

[2]引入外部js文件

[注意]带有src属性的<script>元素不应该在其<script>标签之间再包含额外的js代码,如果包含了嵌入的代码,则只会下载并执行外部脚本,而忽略嵌入的代码

<script src="myScript.js"></script>

<script>

无论哪种引入方法,都需要利用<script>标签。<script>标签共用6个属性,其中language属性已经废弃

[1]src:表示包含要执行代码的外部文件,该文件可以跨域

[2]charset:可选,表示通过src属性指定的代码的字符集,大多数浏览器会忽略

[3]defer:可选,表示脚本可以延迟到文档完全被解析和显示之后再执行,只对外部脚本有效

[4]async:可选,表示应该立即下载脚本,但不妨碍页面的其他操作。只对外部脚本有效

[5]type:可选,是language的替代属性,表示编写代码使用的脚本语言的内容类型,也称为MIME类型。考虑到兼容,一般还是text/javascript,若不指定,默认值也是text/javascript

[6]language:已废弃 

async和defer

[1]如果async和defer都不设置,浏览器会立即加载并执行指定的脚本

<script src="test.js"></script>
[2]如果只设置async,浏览器会异步下载脚本,不阻塞页面的其他操作

[注意]异步脚本一定会在页面的load事件前执行

<script src="test.js" async></script>
[3]如果只设置defer,脚本会被延迟到文档完全被解析和显示后再执行

<script src="test.js" defer></script> 

注释

注释可以提高代码可读性,帮助自己和别人阅读和理解Javascript代码,注释的内容不会在网页中显示,分为单行注释和多行注释两种

//单行注释
/*
多行注释
 */

忽略空格

JavaScript会忽略多余的空格,可以向脚本添加空格,来提高其可读性

//以下写法均正确
var name="hello";
var name ="hello";
var name = "hello";

代码折行

可以在文本字符串中使用反斜杠对代码行进行换行

//正确
document.write("Hello \
World!");
//错误
document.write \
("Hello World!");

大小写敏感

JavaScript的变量、函数名和操作符都区分大小写。函数getElementById与getElementbyID不同,同样,变量myVariable与MyVariable也是不同的

保留字和关键字

ECMA-262描述了一组具有特定用途的关键字,这些关键字用于表示控制语句的开始或结束,或用于执行特定操作等;ECMA-262还描述了另外一组不能用作标识符的保留字,它们将来有可能成为关键字。

javascript基础语法学习笔记

//第5版在非严格模式下的保留字
Class | enum | extends | super | const | export | import 
//第5版在严格模式下的保留字
Implements | package | public | interface | private | static | let* | protected | yield*
Javascript 相关文章推荐
jQuery 1.4 15个你应该知道的新特性(译)
Jan 24 Javascript
使用闭包对setTimeout进行简单封装避免出错
Jul 10 Javascript
js文件Cookie存取值示例代码
Feb 20 Javascript
jquery做的一个简单的屏幕锁定提示框
Mar 26 Javascript
jQuery实现垂直半透明手风琴特效代码分享
Aug 21 Javascript
jQuery基于排序功能实现上移、下移的方法
Nov 26 Javascript
原生js实现秒表计时器功能
Feb 16 Javascript
利用JS对iframe父子(内外)页面进行操作的方法教程
Jun 15 Javascript
jQuery选择器之子元素选择器详解
Sep 18 jQuery
JavaScript 中的 this 工作原理
Jun 20 Javascript
浅谈Vue.js路由管理器 Vue Router
Aug 16 Javascript
Vue form表单动态添加组件实战案例
Sep 02 Javascript
封装好的javascript前端分页插件pagination
Jan 04 #Javascript
详解javascript的变量与标识符
Jan 04 #Javascript
bootstrap实现弹窗和拖动效果
Jan 03 #Javascript
基于javascript实现窗口抖动效果
Jan 03 #Javascript
理解jquery事件冒泡
Jan 03 #Javascript
实例讲解避免javascript冲突的方法
Jan 03 #Javascript
详解js中class的多种函数封装方法
Jan 03 #Javascript
You might like
10条PHP编程习惯助你找工作
2008/09/29 PHP
PHP用身份证号获取星座和生肖的方法
2013/11/07 PHP
Symfony数据校验方法实例分析
2015/01/26 PHP
php实现不通过扩展名准确判断文件类型的方法【finfo_file方法与二进制流】
2017/04/18 PHP
PHP提取字符串中的手机号正则表达式怎么写
2017/07/17 PHP
彪哥1.1(智能表格)提供下载
2006/09/07 Javascript
alixixi runcode.asp的代码不错的应用
2007/08/08 Javascript
JavaScript Event学习第十章 一些可替换的事件对
2010/02/10 Javascript
Google Map V3 绑定气泡窗口(infowindow)Dom事件实现代码
2013/04/26 Javascript
可简单避免的三个JS发布错误的详细介绍
2013/08/02 Javascript
jquery提交form表单简单示例分享
2014/03/03 Javascript
javascript中eval和with用法实例总结
2015/11/30 Javascript
js自定义回调函数
2015/12/13 Javascript
jQuery实现鼠标选文字发新浪微博的方法
2016/04/02 Javascript
AngularJs学习第八篇 过滤器filter创建
2016/06/08 Javascript
jQuery 操作input中radio的技巧
2016/07/18 Javascript
js手机号批量滚动抽奖实现代码
2020/04/17 Javascript
ReactNative列表ListView的用法
2017/08/02 Javascript
arcgis for js栅格图层叠加(Raster Layer)问题
2017/11/22 Javascript
详解JavaScript中的强制类型转换
2019/04/15 Javascript
python基于windows平台锁定键盘输入的方法
2015/03/05 Python
Python实现计算文件夹下.h和.cpp文件的总行数
2015/04/23 Python
Python实现代码统计工具(终极篇)
2016/07/04 Python
解决Python的str强转int时遇到的问题
2018/04/09 Python
python实现嵌套列表平铺的两种方法
2018/11/08 Python
Python 中包/模块的 `import` 操作代码
2019/04/22 Python
python字典改变value值方法总结
2019/06/21 Python
浅谈TensorFlow中读取图像数据的三种方式
2020/06/30 Python
Python 3.10 的首个 PEP 诞生,内置类型 zip() 迎来新特性(推荐)
2020/07/03 Python
汇集了世界上最好的天然和有机美容产品:LoveLula
2018/02/05 全球购物
Canal官网:巴西女性时尚品牌
2019/10/16 全球购物
食堂个人先进事迹
2014/01/22 职场文书
啦啦队口号大全
2014/06/16 职场文书
2014最新党员违纪检讨书
2014/10/12 职场文书
同意报考公务员证明
2015/06/17 职场文书
Nginx域名转发使用场景代码实例
2021/03/31 Servers