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 相关文章推荐
区分JS中的undefined,null,&quot;&quot;,0和false
Mar 08 Javascript
JS实现CheckBox复选框全选、不选或全不选功能
Jul 28 Javascript
基于jQuery的Web上传插件Uploadify使用示例
May 19 Javascript
JS添加或修改控件的样式(Class)实现方法
Oct 15 Javascript
第一次接触神奇的前端框架vue.js
Dec 01 Javascript
微信小程序模板和模块化用法实例分析
Nov 28 Javascript
vue使用原生js实现滚动页面跟踪导航高亮的示例代码
Oct 25 Javascript
vue+canvas实现炫酷时钟效果的倒计时插件(已发布到npm的vue2插件,开箱即用)
Nov 05 Javascript
详解vue.js移动端配置flexible.js及注意事项
Apr 10 Javascript
javascript设计模式 ? 组合模式原理与应用实例分析
Apr 14 Javascript
在react中使用vue的状态管理的方法示例
May 02 Javascript
如何开发一个渐进式Web应用程序PWA
May 10 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注入示例分析和几种常见攻击正则表达式
2014/01/12 PHP
php使用$_POST或$_SESSION[]向js函数传参
2014/09/16 PHP
yii2.0整合阿里云oss删除单个文件的方法
2017/09/19 PHP
分享5个非常有用的Laravel Blade指令
2018/05/30 PHP
PHP 数组操作详解【遍历、指针、函数等】
2020/05/13 PHP
asp.net下使用jquery 的ajax+WebService+json 实现无刷新取后台值的实现代码
2010/09/19 Javascript
jQuery学习笔记 更改jQuery对象
2012/09/19 Javascript
jquery 面包屑导航 具体实现
2013/06/05 Javascript
简单漂亮的js弹窗可自由拖拽且兼容大部分浏览器
2013/10/22 Javascript
jquery 隐藏与显示tr标签示例代码
2014/06/06 Javascript
JS实现页面超时后自动跳转到登陆页面
2015/01/19 Javascript
jQuery实现tag便签去重效果的方法
2015/01/20 Javascript
EasyUi datagrid 实现表格分页
2015/02/10 Javascript
jQuery EasyUI datagrid实现本地分页的方法
2015/02/13 Javascript
基于Javascript实现二级联动菜单效果
2016/03/04 Javascript
JS在onclientclick里如何控制onclick的执行
2016/05/30 Javascript
JavaScript必知必会(七)js对象继承
2016/06/08 Javascript
Bootstrap零基础入门教程(三)
2016/07/18 Javascript
codeMirror插件使用讲解
2017/01/16 Javascript
基于BootStrap multiselect.js实现的下拉框联动效果
2017/07/28 Javascript
详解.vue文件中监听input输入事件(oninput)
2017/09/19 Javascript
js中apply()和call()的区别与用法实例分析
2018/08/14 Javascript
深入浅析vue-cli@3.0 使用及配置说明
2019/05/08 Javascript
vue-dplayer 视频播放器实例代码
2019/11/08 Javascript
vue element 关闭当前tab 跳转到上一路由操作
2020/07/22 Javascript
python爬取拉勾网职位数据的方法
2018/01/24 Python
Python3.6通过自带的urllib通过get或post方法请求url的实例
2018/05/10 Python
Python中的list与tuple集合区别解析
2019/10/12 Python
np.random.seed() 的使用详解
2020/01/14 Python
Win10用vscode打开anaconda环境中的python出错问题的解决
2020/05/25 Python
特罗佩亚包官方网站:Tropea
2017/01/03 全球购物
Laravel的加密解密与哈希实例讲解
2021/03/24 PHP
留学推荐信范文
2014/05/10 职场文书
共产党员批评与自我批评
2014/10/15 职场文书
销售经理工作检讨书
2015/02/19 职场文书
银行稽核岗位职责
2015/04/13 职场文书