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 相关文章推荐
fireworks菜单生成器mm_menu.js在 IE 7.0 显示问题的解决方法
Oct 20 Javascript
JS上传图片前的限制包括(jpg jpg gif及大小高宽)等
Dec 19 Javascript
jquery中使用$(#form).submit()重写提交表单无效原因分析及解决
Mar 25 Javascript
提升PHP安全:8个必须修改的PHP默认配置
Nov 17 Javascript
JavaScript动态添加style节点的方法
Jun 09 Javascript
JS实现选项卡实例详解
Nov 17 Javascript
gulp-uglify 与gulp.watch()配合使用时报错(重复压缩问题)
Aug 24 Javascript
jquery判断iPhone、Android设备类型
Sep 14 Javascript
JavaScript选取(picking)和反选(rejecting)对象的属性方法
Aug 16 Javascript
详解element-ui日期时间选择器的日期格式化问题
Apr 08 Javascript
js简单的分页器插件代码实例
Sep 11 Javascript
javascript实现京东快递单号的查询效果
Nov 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
PHP的SQL注入过程分析
2012/01/06 PHP
Zend的AutoLoad机制介绍
2012/09/27 PHP
php检测url是否存在的方法
2015/04/14 PHP
Twig模板引擎用法入门教程
2016/01/20 PHP
总结的一些PHP开发中的tips(必看篇)
2017/03/24 PHP
PHP长网址与短网址的实现方法
2017/10/13 PHP
对laravel的session获取与存取方法详解
2019/10/08 PHP
js+xml生成级联下拉框代码
2012/07/24 Javascript
JavaScript中如何通过arguments对象实现对象的重载
2014/05/12 Javascript
JavaScript fontcolor方法入门实例(按照指定的颜色来显示字符串)
2014/10/17 Javascript
jQuery制作简洁的图片轮播效果
2015/04/03 Javascript
jQuery实现Meizu魅族官方网站的导航菜单效果
2015/09/14 Javascript
JavaScript拖拽、碰撞、重力及弹性运动实例分析
2016/01/08 Javascript
BootStrap实现树形目录组件代码详解
2016/06/21 Javascript
jQuery 3.0十大新特性最终版发布
2016/07/14 Javascript
node.js将MongoDB数据同步到MySQL的步骤
2017/12/10 Javascript
使用Angular CLI进行单元测试和E2E测试的方法
2018/03/24 Javascript
关于layui时间回显问题的解决方法
2019/09/24 Javascript
使用pip发布Python程序的方法步骤
2018/10/11 Python
python之验证码生成(gvcode与captcha)
2019/01/02 Python
python实现可逆简单的加密算法
2019/03/22 Python
Python数据类型之List列表实例详解
2019/05/08 Python
python正则表达式匹配不包含某几个字符的字符串方法
2019/07/23 Python
Pycharm无法打开双击没反应的问题及解决方案
2020/08/17 Python
神话般的珠宝:Ross-Simons
2020/07/13 全球购物
几个人围成一圈的问题
2013/09/26 面试题
房地产还款计划书
2014/01/10 职场文书
优秀高中生事迹材料
2014/02/11 职场文书
学习雷锋精神演讲稿
2014/05/10 职场文书
党性观念心得体会
2014/09/03 职场文书
小学教师学习党的群众路线教育实践活动心得体会
2014/10/31 职场文书
2014年办公室文秘工作总结
2014/12/09 职场文书
2014年基建工作总结
2014/12/12 职场文书
学生上课迟到检讨书
2015/01/01 职场文书
2015年城乡环境综合治理工作总结
2015/07/24 职场文书
学会用Python实现滑雪小游戏,再也不用去北海道啦
2021/05/20 Python