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 相关文章推荐
Extjs学习笔记之一 初识Extjs之MessageBox
Jan 07 Javascript
开源的javascript项目Kissy介绍
Nov 28 Javascript
js数组如何添加json数据及js数组与json的区别
Oct 27 Javascript
每天一篇javascript学习小结(面向对象编程)
Nov 20 Javascript
Jquery uploadify上传插件使用详解
Jan 13 Javascript
JavaScript实现事件的中断传播和行为阻止方法示例
Jan 20 Javascript
JS实现css hover操作的方法示例
Apr 07 Javascript
vue+ElementUI实现订单页动态添加产品数据效果实例代码
Jul 13 Javascript
vue自定义指令directive实例详解
Jan 17 Javascript
vue 路由页面之间实现用手指进行滑动的方法
Feb 23 Javascript
jQuery实现鼠标点击处心形漂浮的炫酷效果示例
Apr 12 jQuery
深入理解JavaScript的async/await
Aug 05 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
php数组使用规则分析
2015/02/27 PHP
PHP利用正则表达式将相对路径转成绝对路径的方法示例
2017/02/28 PHP
表格 隔行换色升级版
2009/11/07 Javascript
js 鼠标拖动对象 可让任何div实现拖动效果
2009/11/09 Javascript
javascript实现的在当前窗口中漂浮框的代码
2010/03/15 Javascript
通过继承IHttpHandle实现JS插件的组织与管理
2010/07/13 Javascript
使用js简单实现了tree树菜单
2013/11/20 Javascript
深入分析Javascript跨域问题
2015/04/17 Javascript
Javascript编程之继承实例汇总
2015/11/28 Javascript
jQuery点击输入框显示验证码图片
2016/05/19 Javascript
JS控制层作圆周运动的方法
2016/06/20 Javascript
javascript 数组的正态分布排序的问题
2016/07/31 Javascript
深入理解JS DOM事件机制
2016/08/06 Javascript
H5实现中奖记录逐行滚动切换效果
2017/03/13 Javascript
element-ui 文件上传修改文件名的方法示例
2019/11/05 Javascript
js简单实现自动生成表格功能示例
2020/06/02 Javascript
JS如何在不同平台实现多语言方式
2020/07/16 Javascript
[52:57]2014 DOTA2国际邀请赛中国区预选赛 LGD-CDEC VS HGT
2014/05/21 DOTA
[06:45]DOTA2-DPC中国联赛 正赛 Magma vs LBZS 选手采访
2021/03/11 DOTA
Python网络爬虫神器PyQuery的基本使用教程
2018/02/03 Python
Django中间件工作流程及写法实例代码
2018/02/06 Python
python删除某个字符
2018/03/19 Python
利用Pyhton中的requests包进行网页访问测试的方法
2018/12/26 Python
python 实现性别识别
2020/11/21 Python
python中reload重载实例用法
2020/12/15 Python
Banggood官网:面向全球客户的综合商城
2017/04/19 全球购物
StringBuilder和String的区别
2015/05/18 面试题
30年同学聚会感言
2014/01/30 职场文书
食品安全宣传标语
2014/06/07 职场文书
联片教研活动总结
2014/07/01 职场文书
活动总结报告怎么写
2014/07/03 职场文书
党委干部批评与自我批评发言稿
2014/09/28 职场文书
高校自主招生校长推荐信
2015/03/23 职场文书
mysql分表之后如何平滑上线详解
2021/11/01 MySQL
MYSQL 运算符总结
2021/11/11 MySQL
Windows Server 2019 安装DHCP服务及相关配置
2022/04/28 Servers