完整的JavaScript包括三部分、script标签、JavaScript的基本语法以及变量和字面量的关系
完整的JavaScript包括三大部分:
-ECMAScript JavaScript的开发规范;提供核心语言功能
-DOM document object model 文档对象模型;提供和操作网页内容的方法和接口
-BOM browser object model 浏览器对象模型;提供与浏览器交互的方法和接口
<script>标签
-属性:async , charset , defer , language , type , src 共六个,其中重点掌握async和defer
-async 表示立即下载脚本,但是不妨碍页面中的其他加载,异步加载页面内容;
-defer 表示脚本可以延迟到文档被完全解析和显示后再执行;
-注意:这两个属性只能用于外部脚本文件;
-使用方法:
-直接在页面中嵌入JS代码;需要将js代码放在script标签内,并指定type属性;
<script type="text/javascript"></script>
-引入js外部文件;必须使用src属性
<script src="jquery.min.js"></script>
-标签位置:
-放在head标签之间,如果是引入的外部JS,需要添加defer或者 async属性;
<script src="jquery.min.js" defer="defer"></script>
async属性与defer属性的写法相同
-放在body结束标签之前,此方法最为推荐;
-另外,<noscript>元素可以指定在不支持脚本的浏览器中的替代内容,但是如果之前的脚本被启用了,标签内的内容将不会被显示
JavaScript的基本语法:
-严格区分大小写;变量,函数名,操作符等都要区分大小写;
-标识符;
-第一个字符必须是字母,下划线_ ,或者是一个美元符号$
-其他字符可以是字母,下划线,美元符号或者是数字
-一般采取驼峰命名法,第一个字母小写,剩下的每个单词的首字母大写
- javascript会自动忽略空格和换行,
注意:
空格问题:
因为浏览器显示机制,对手动敲入的空格,将连续多个空格显示成1个空 格.
1. 使用输出html标签 来解决
document.write(" "+"1"+" "+"23");
结果: 1 23
2. 使用CSS样式来解决
document.write("<span style='white-space:pre;'>"+" 1 2 3 "+"</span>");
结果: 1 2 3
换行问题:
1、在JS中使用\n 换行
alert(“测试\n测试”);
2、在网页中换行使用<br />
document.write("测试<br />测试");其是输出到网页中的
不能把保留字,关键字,true,false,null等作为标识符,理论上扩展的ASCII码和Unicode字母字符也可以作为标识符,但不推荐
-注释:包括单行注释和块级注释
-单行注释 //
-块级注释 /* */
-语句:
- 一般都以分号结尾
-特殊的加分号的有:
- 以( 或者 [ 开头的行,前面要加分号;
-for语句条件表达式中,条件彼此之间加;
变量和字面量的关系:
字面量:即是常量。虽然可以直接使用但是很少使用,使用起来比较麻烦。
变量:js的变量是松散类型的,即可以保存任何类型的数据。
如何定义变量?
通过 var 操作符 ,后跟 变量名(标识符)来定义变量 。如 var a;
为变量赋值: var a = 100;
注意:用var操作符定义的变量成为定义该变量作用域中的局部变量,如果在函数中使用var定义了一个变量,那么这个变量在函数退出后就会被销毁
function fun1(){ var a ="hi"; alert(a); //输出hi } fun1(); //调用函数 alert(a); //错误!
如果省略了var操作符,上文中的变量就会由局部变量转化为全局变量。但是不推荐使用。在局部作用域内定义的全局变量很难维护,以及在严格模式下未被定义的变量赋值会导致抛出ReferenceError错误。
可以用一条语句同时声明多个变量
var a = 1, b = 2, c = 3;
注意用一条语句声明多个变量时,变量之间用逗号隔开;在严格模式下,不能定义名为eval和argument的变量,会导致语法错误。
以上为学习完JS基础后,整理,有错误的地方请指正。