JavaScript简介
JavaScript 诞生于1995 年。它当时的目的是为了验证表单输入的验证。因为在JavaScript问世之前,表单的验证都是通过服务器端验证的。而当时都是电话拨号上网的年代,服务器验证数据是一件非常痛苦的事情。经过许多年的发展,JavaScript 从一个简单的输入验证成为一门强大的编程语言。所以,学会使用它是非常简单的,而真正掌握它则需要很漫长的时间。
什么是javascript
JavaScript 是一种具有面向对象能力的、解释型的程序设计语言。更具体一点,它是基于对象和事件驱动并具有相对安全性的客户端脚本语言。因为他不需要在一个语言环境下运行,而只需要支持它的浏览器即可。它的主要目的是,验证发往服务器端的数据、增加Web互动、加强用户体验度等。
javascript特点
松散性
JavaScript 语言核心与C、C++、Java 相似,比如条件判断、循环、运算符等。但,它却是一种松散类型的语言,也就是说,它的变量不必具有一个明确的类型。
对象属性
JavaScript 中的对象把属性名映射为任意的属性值。它的这种方式很像哈希表或关联数组,而不像C 中的结构体或者C++、Java 中的对象。
继承机制
JavaScript 中的面向对象继承机制是基于原型的,这和另外一种不太为人所知的Self 语言很像,而和C++以及Java 中的继承大不相同。
javascript核心
虽然JavaScript 和ECMAScript 通常被人们用来表达相同的含义,但JavaScript 的含义却比ECMA-262 中规定的要多得多。一个完整的JavaScript 应该由下列三个不同的部分组成。
1.核心(ECMAScript)
2.文档对象模型(DOM)
3.浏览器对象模型(BOM)
ECMAScript介绍
由ECMAScript-262 定义的ECMAScript 与Web 浏览器没有依赖关系。ECMAScript 定义的只是这门语言的基础,而在此基础之上可以构建更完善的脚本语言。我们常见的Web浏览器只是ECMAScript 实现可能的宿主环境之一。既然他不依赖于Web 浏览器,那么他还在哪些环境中寄宿呢?比如:ActionScript、ScriptEase 等。而他的组成部分有:语法、类型、语句、关键字、保留字、操作符、对象等。
Web浏览器对 ECMAScript的支持
到了2008 年,五大主流浏览器(IE、Firefox、Safari、Chrome、Opera)全部做到了与ECMA-262 兼容。
标签解析
这组标签,是用于在html 页面中插入js 的主要方法。它主要有以下几个属性:
1.charset:可选。表示通过src 属性指定的字符集。由于大多数浏览器忽略它,所以很少有人用它。
2.defer:可选。表示脚本可以延迟到文档完全被解析和显示之后再执行。由于大多数浏览器不支持,故很少用。
3.language:已废弃。原来用于代码使用的脚本语言。由于大多数浏览器忽略它,所以不要用了。
4.src:可选。表示包含要执行代码的外部文件。
5.type:必需。可以看作是language 的替代品。表示代码使用的脚本语言的内容类型。范例:type="text/javascript"。
<script type='text/javascript'>
</script>
JS代码嵌入的一些问题
如果你想弹出一个</script>标签的字符串,那么浏览器会误解成JS 代码已经结束了。解决的方法,就是把字符串分成两个部分,通过连接符‘+’来连接。
<script type='text/javascript'>
alert('</scr'+'ipt>');
</script>
一般来说,JS 代码越来越庞大的时候,我们最好把他另存为一个.js 文件,通过src 引入即可。它还具有维护性高、可缓存(加载一次,无需加载)、方便未来扩展的特点。
<script type='text/javascript' src='js/js.js'></script>
标签内不需要写任何代码
输出
文档输出 以及换行输出 // 输出格式为字符串
输出为文档 标签不能再文档中显示
documen.write()
<script type="text/javascript">
document.write('d'+'<br>'+'d')
</script>
弹出警告窗
弹出内容
<script type="text/javascript">
alert('</scr'+'ipt>')
</script>
两种输出只能 为字符串,
代码注释
单行注释 //
多行注释/* */
变量与常量
常量 则为字面量
变量
var 声明一个变量
变量类型 数字类型,字符串类型,未定义
typeof 获取变量的类型
<script type="text/javascript">
var a='w';
var b=2;
var c
alert(typeof a) // 字符串 string
alert(typeof b) // 数字类型 number
alert(typeof c) // 未定义 undefined
</script>
多个变量用 , 连接
var a=3,b=3,v=5;
变量类型 object(array)Boolean
数组为特殊的对象,
a=true 则为 boolean 类型
如果alert(abc) 这报错为 未定义, 则为上面 var c 不同