JavaScript基础(1)
JavaScript是一种专为与网页交互而设计的脚本语言。
由三个部分组成:
- ECMAScript,提供核心语言功能。
- 文档对象模型(DOM),提供访问和操作网页内容的方法和接口。
- 浏览器对象模型(BOM),提供与浏览器交互的方法和接口。
JavaScript嵌入网页的方式:
1.内嵌(在head或者body处都可以内嵌)
2.外部引入(引入外部文件的位置在head或者body)
<script type="text/javascript">
/*
* 写执行代码
* */
</script>
<script type="text/javascript" src="js/index.js"></script>
注意:
- 在包含外部JavaScript文件时,必须将src属性设置为指向相应文件的URL。这个文件既可以是与包含它的页面位于同一服务器上的文件,也可以是其他任何域中的文件。
- 所有script元素都会按照它们在页面中出现的先后顺序依次被解析。此时可以建议将script元素写在body将要结束的位置,这样写可以提高用户打开网页的效率。因为,网页进入后最先实现样式最后实现脚本内容。这种写法和script元素加上defer属性的效果是一样的,均是让脚本在文档完全呈现之后再执行。
基本语法概念:
1.区分大小写:
ECMAScript中的一切(变量、函数名和操作符)都区分大小写。例如:typeof操作符就区分大小写。
2…标识符:(变量、函数、属性的名字或者函数的参数)
- 第一个字符必须是字母、下划线(_)或者美元符号($)。
- 其他字符可以是字母、下划线、美元符号或者数字。
注意:惯用的标识符命名采用驼峰大小写格式(第一个字母小写,剩下的每个有意义的单词的首字母大写);不能把关键字、保留字、true、false和null用作标识符。
关键字:
break | do | instanceof | typeof |
---|---|---|---|
case | else | new | var |
catch | finally | return | void |
debugger | function | this | while |
delete | in | try |
保留字:
abstract | enum | int | short |
---|---|---|---|
boolean | export | interface | static |
byte | extends | long | super |
char | final | native | synchronized |
class | float | package | throws |
const | goto | private | transient |
implements | protected | volatile | double |
import | public | let | yield |
3.注释:
//单行注释
/*
*多行注释(块级注释)
*
*/
注意: 块级注释以一个斜杠和一个星号开头(/),以一个星号和一个斜杠(/)结尾。至于块级注释二三行的*是为了增强可读性,并非必要。
4.变量:
ECMAScript的变量是松散类型的(可以用typeof检测给定变量的数据类型),可以保存任何类型的数据。
定义变量是不写关键字声明的变量是全局变量。
定义变量时要使用var操作符,后面跟变量名。
var a1=10,b1=20,c1=30;
//console.log()输出变量到控制台
console.log(a1,b1,c1);
5.数据类型:
值类型:存储在栈里面,值的单位占用空间固定。
number(数字型)、boolean、string、undefined(未定义类型)、null。
引用类型: 存储在堆上的,使用空间不固定。
object(本质上是一组无序的名值对组成的)
undefined类型和null:
①undefined类型
在使用var声明变量但未对变量初始化时,这个变量的值就是undefined。
var a;
//alert() 方法用于显示带有一条指定消息和一个确认按钮的警告框。
alert(a==undefined);//true
②定义的变量准备在将来用于保存对象时,将该变量初始化为null。这个null是人为赋值,为了检查变量是否已经保存了一个对象的引用。
③undefined值是派生自null值的,因此他们的相等性测验返回的true。
alert(null==undefined);//true
其他数据类型:
数据类型 | 转换为true的值 | 转换为false的值 |
---|---|---|
boolean | true | false |
string | 任何非空字符串 | “”(空字符串) |
number | 任何非零数字值(包括无穷大) | 0和NaN |
object | 任何对象 | null |
注:NaN,非数值(Not a Number)是一个特殊的数值,这个数值用于表示一个本来要返回数值的操作数未返回数值的情况(避免抛出错误)。例如:任何数值除以0会返回NaN。