JavaScript-1-JS基本语法
第一天
1:定义
javascript是一种弱类型、动态类型、解释型的脚本语言。
弱类型:类型检查不严格,偏向于容忍隐式类型转换。
强类型:类型检查严格,偏向于不容忍隐式类型转换。
动态类型:运行的时候执行类型检查。
静态类型:编译的时候就知道每个变量的类型。
解释型:程序不需要编译,程序在运行的时候才翻译成机器语言,每执行一次都要翻译一次,因此效率比较低,但是跨平台性好。
编译型:程序在执行之前需要一个专门的翻译过程,把程序编译为机器语言的文件,运行时直接使用编译的结果就行了。
标记语言:标记语言的存在就是用来被读取(浏览)的,而其本身是没有行为能力的,在标记语言里你会看到<;和>这些尖括号,这是用来写出“层次”和”属性”的,换句话说,它是被动的。并不具备与访问者互动的能力。
编程语言:它是具有逻辑性和行为能力,这是主动的。说通俗一点,它是有思想的。
脚本语言:它介于标记语言和编程语言之间,脚本语言不需要编译,可以直接用,由解释器来负责解释。2:JS历史
js以6结尾的数字表达式
1:Netsape发明了javascript。
1994年,网景公司(Netscape)发布了Navigator浏览器0.9版。这是历史上第一个比较成熟的网络浏览器,轰动一时。但是这个版本的浏览器只能用来浏览,不具备与访问者互动的能力。比如,网页上有一栏用户名需要填写,浏览器无法判断用户是否真的填写了,只有让服务器去判断。如果没有填写就返回错误,要求用户重新填写。太浪费时间和服务器资源了。更何况在那个用调制解调器上网的年代。
2:JS之父Brendan Eich(布兰登· 艾奇)
网景公司急需一种网页脚本语言,使得浏览器可以与网页互动。当时工程师Brendan Eich就是负责开发这种新语言。
尽管ECMAScript是一个重要标准,但它并不是JS的唯一部分。一个完整的JS实现是由3个部分组成的。
ECMAScript(核心) + 浏览器对象模型(BOM)+ 文档对象模型(DOM)
ECMAScript描述了该语言的语法和基本对象。
BOM描述了与浏览器进行交互的方法和接口。
DOM描述了处理网页内容的方法和接口。
4:script标签
<script>标签用于定义客户端脚本。它既可以包含脚本语句,也可以通过src属性指定外部脚本文件。属性:
language:用来指定<script>标签中的脚本类型,即javascript。已废弃,大多数浏览器已经忽略它了,所以不要在使用。
type:它也是用来指定<script>标签中的脚本类型,即text/javascript。它也是type的默认值,所以可以忽略指定。
src:指定外部的脚本文件。如果指定该属性,script标签包含的JS脚本不会执行。
不可以使用单标签,即<script type=“text/javascript”/>。
script标签可以放在页面中的任何位置,但是我们一般放在head和body中。
5:js初体验
document.write:输出内容到页面,可同时输出多段文本。
eg:document.write(‘我叫’, ‘thomas!’);
document.writeln:输出内容到页面,但是会在表达式后面写一个换行符。
eg:document.writeln(‘我叫’, ‘thomas’);
writeln() = write() + write(‘\n’);
为什么换行没起作用?
在HTML的解析中,只会把<br/>解析成换行,\n会被解析成空白符,空白符就被解析成一个空格。但是在pre、textarea标签内,HTML不会解析空白符。
如何让输出内容换行?
1:输出带有<pre>标签的内容。
2:输出带有<br/>标签的内容。
注:如果页面加载完毕后再执行document.write,这个HTML页面将被覆盖。
6:如何输出标签符号
为了正确的显示预留字符,我们必须在HTML源代码中使用字符实体。如果直接使用<;或者>,浏览器会误认为标签。
HTML实体格式:&entity_name; 或者&#entity_number;
实体名称对大小写敏感。
使用实体名称易于记忆,但是浏览器也许并不支持所有的实体名称(对实体数字的支持就很好)。
7:实体符号列表
8:js语句
JS语句就是向浏览器发出的命令。该语句告诉浏览器应该做什么。
分号(英文)用于分割JS语句,所以每条语句都应以分号结束。使用分号我们可以在一行内编写多条语
句。但是在JS中分号来结束语句是可选的。
JS代码是JS语句的序列。浏览器会按照编写的顺序来执行每条语句。
JS代码块:JS语句通过代码块的形式进行组合。块由左花括号开始,右花括号结束。它的作用就是使语句一起执行。
JS语句严格区分大小写。
9:js注释
注释可用于提高代码的可读性。Javascript不会执行注释,用户也不会看到注释,注释只是方便开发者更好的理解JS代码。
单行注释:以//开头。
多行注释:以/*开头,以*/结尾。
文档注释:以/**开头,以*/结尾。