JavaScript简介
javascript实现的组成:ECMAScript(标准),DOM(标准),BOM。
js的特点:解释型语音(不需要编译,直接运行),类似于c和java语音,动态语音,基于原型的面向对象。
js编写:js代码写在网页中,html文件中的script标签中,<script type="text/javascript">。
警告框:alert("")。
往body里面写内容:document.write(“”)。
向控制台输出内容:console.log(“”)。
js代码位置:可以编写在button标签里面的onclick属性中;可以写在a标签的href标签里面;script标签里面;新建一个外部js文件,通过script标签的src属性引入,使得js文件可以在不同页面中同时引用,也可以利用到浏览器的缓存机制,推荐使用。
script标签一旦用于引入外部文件,就不能在里面编写代码了,即使编写了浏览器也会忽略,如果需要编写可以新建一个标签。
js语法
基本语法:注释://和/* */。js严格区分大小写。js每一个语句后面都要加一个封号;,如果不写封号,浏览器会自动添加,但是会消耗一些系统资源,有时候还会加错封号,所以必须写封号。
字面量:都是一些不可改变的值,比如:1,2,3,4,字面量都是可以直接使用,但是一般不会直接使用字面量。
变量:用来保存字面量,变量的值可以任意改变。在js中使用var关键字来声明一个变量,var a。
标识符:在js中所有的可以由我们自主命名的都可以称为标识符。
命名规则:可以含有字母数字和下划线、$;不能以数字开头;不能是js中的关键字或者保留字;一般采用驼峰命名法,即首字母小写,每个单词开头字母大写,其他小写,helloWorld。js底层保存的标识符实际上是采用的Unicode编码,所以理论上讲,所有的utf-8中含有的内容都可以作为标识符,比如汉字,但千万不能用!
数据类型:即字面量的类型(类型首字母都大写)。
String(字符串,要用双引号或单引号引起来,单引号里面放双引号,双引号里面放单引号,或者使用\转义字符来引号嵌套)、
Number(数值,在js中所有的数值都是Number类型,包括整数和浮点数,Number.MAX_VALUE表示数字的最大值,如果数值超过了最大值,会返回一个Infinity表示无穷,加个负号表示负无穷,无穷的数据类型也是数值;MIN_VALUE表示最小正值;NaN是一个特殊的数字,表示NOT A NUMBER,但是类型也是数值;在js中的整数运算基本可以保证精确,进行浮点运算,可能得到一个不精确的结果,所以千万不要使用js进行精确度要求较高的运算,比如金钱的计算)、
Boolean(布尔值,布尔值只有两个true和false,主要用来做逻辑判断,使用类型返回时会返回boolean)、
Null(空值,只有一个值null,专门用来表示一个空的对象,用类型检查会返回Object)、
Undefined(未定义,值只有一个undefined,当声明一个变量但是不赋值时,该变量的值就是undefined;类型检查是返回undefined)、
Object(对象)。
其中,前五个属于基本数据类型,最后一个属于引用类型。
转义字符\:\" 表示",\' 表示 ',\n 表示换行,\t 表示制表符,\\ 表示\。
typeof:运算符typeof用来检查一个变量的类型,语法:typeof 变量,如果是数值就返回number。
强制类型转换:将一个数据类型强制转换为其他的数据类型,主要指使其他的类型转换为:
String(调用被转换数据类型的toString()方法,该方法不会影响原变量,会将转换的结果返回,NUll类型和Undefined类型不能用toString转换,无此方法;调用String()函数,并将被转换数据作为参数传递进去,对于Number和Boolean实际上就是toString方法,对于null和undefined会直接转换为“null”和“undefined”)、
Number(使用Number()函数,字符串如果是纯数字类就直接转换,如果有非数字内容则转换为NaN,如果是空串或全是空格,转换为0,如果是Boolean,true变为1,false变为0,如果是null变为0,如果是undefined变为NaN;专门用来对付字符串的方法,parseInt()可以将一个字符串的前面的有效整数部分内容取出来,然后转换为Number,parseFloat()与int类似,不同的是可以获取有效的小数,如果对非String类型使用这两种方法,会先转换为String然后再对其操作)、
Boolean(使用Boolean()函数,Number除了0和NaN都是true,String除了空串都是true,null和undefined都是false,对象也会转换为true)。
其他进制数字:在js中,表示十六进制(需要以0x开头)、八进制(需要以0开头)、二进制(需要以0b开头,但不是所有浏览器都支持),
像这种070数字,有些浏览器当成十进制有些八进制处理,这时可以在parseInt中传递第二个参数,用来表示进制,parseInt(a,10)。
运算符:typeof就是运算符