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 相关文章推荐
juqery 学习之四 筛选查找
Nov 30 Javascript
jQuery页面图片伴随滚动条逐渐显示的小例子
Mar 21 Javascript
JavaScript创建类/对象的几种方式概述及实例
May 06 Javascript
jQuery拖拽 &amp; 弹出层 介绍与示例
Dec 27 Javascript
JQuery页面地址处理插件jqURL详解
May 03 Javascript
javascript实现可拖动变色并关闭层窗口实例
May 15 Javascript
vue 动态改变静态图片以及请求网络图片的实现方法
Feb 07 Javascript
详解JavaScript 中 if / if...else...替换方式
Jul 15 Javascript
简述vue路由打开一个新的窗口的方法
Nov 29 Javascript
用js编写留言板
Mar 17 Javascript
深入webpack打包原理及loader和plugin的实现
May 06 Javascript
如何在postman中添加cookie信息步骤解析
Jun 30 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
国产动画《伍六七》原声大碟大卖,啊哈娱乐引领音乐赋能IP的新尝试
2020/03/08 国漫
php中文字母数字验证码实现代码
2008/04/25 PHP
PHP 实现多服务器共享 SESSION 数据
2009/08/15 PHP
ThinkPHP文件缓存类代码分享
2015/04/22 PHP
Thinkphp5.0 框架Model模型简单用法分析
2019/10/11 PHP
JS之小练习代码
2008/10/12 Javascript
JavaScript 设计模式之组合模式解析
2010/04/09 Javascript
一个JQuery操作Table的代码分享
2012/03/30 Javascript
jquery自动将form表单封装成json的具体实现
2014/03/17 Javascript
jquery实现点击页面计算点击次数
2015/01/23 Javascript
js对字符的验证方法汇总
2015/02/04 Javascript
javascript递归回溯法解八皇后问题
2015/04/22 Javascript
jQuery基于muipicker实现仿ios时间选择
2016/02/22 Javascript
JS实现登录页面记住密码和enter键登录方法推荐
2016/05/10 Javascript
微信小程序实现实时圆形进度条的方法示例
2017/02/24 Javascript
原生JS改变透明度实现轮播效果
2017/03/24 Javascript
使用vue和datatables进行表格的服务器端分页实例代码
2017/06/07 Javascript
vue指令之表单控件绑定v-model v-model与v-bind结合使用
2019/04/17 Javascript
Vue.js递归组件实现组织架构树和选人功能
2019/07/04 Javascript
vue中添加与删除关键字搜索功能
2019/10/12 Javascript
Nuxt的路由动画效果案例
2020/11/06 Javascript
[53:20]2018DOTA2亚洲邀请赛 4.1 小组赛 A组加赛 VG vs OG
2018/04/03 DOTA
[41:11]完美世界DOTA2联赛PWL S2 Inki vs Magma 第一场 11.22
2020/11/24 DOTA
Java Web开发过程中登陆模块的验证码的实现方式总结
2016/05/25 Python
pycham查看程序执行的时间方法
2018/11/29 Python
Python语言进阶知识点总结
2019/05/28 Python
iPython pylab模式启动方式
2020/04/24 Python
iHerb香港:维生素、补充剂和天然保健品
2017/08/01 全球购物
英国信箱在线鲜花速递公司:Bloom & Wild
2019/03/10 全球购物
介绍一下Mysql的存储引擎
2015/02/12 面试题
团日活动总结
2014/04/28 职场文书
11.9消防日宣传标语
2014/10/08 职场文书
民用住房租房协议书
2014/10/29 职场文书
2015小学教师年度工作总结
2015/05/12 职场文书
Python使用socket去实现TCP客户端和TCP服务端
2022/04/12 Python
Oracle 11g数据库使用expdp每周进行数据备份并上传到备份服务器
2022/06/28 Oracle