JavaScript引用问题
1:<script>标签引用嵌入html页面中,在外部引用中是JavaScript文件时必须用src属性设置相应的文件的URL。2:在不使用defer和async,<script>元素按照出现在页面的先后顺序依次的解析,标签位置在主要内容的后面:。</body>前面。3:defer属性可以让脚本在文档完全呈现以后执行,延迟脚本总是按照他们指点的顺序执行。4:anync属性可以表示当前脚本不比等待其他脚本,不必阻塞文档呈现,不能保证异步脚本按照它们页面出现的顺序执行。5:<noscript>指定在不支持脚本的浏览器中显示的替代内容,但启动了脚本就不会显示任何<noscript>内容。
基 本 概 念
语法
ECMAscriptb中的一切(变量,函数名和操作符)都区分大小写。标识符(变量,函数,属性)或者函数参数。标识符格式规则:1,第一字符必须是一个字母,下划线(_),或美元符号($),驼峰式是最好的。
单行注释// 多行注释/* */
严格模式:解决不确定行为,不安全的会抛出错误, 在顶部添加"use strict",也可以在方法里面写。
语句:以一个分号 结尾;可以省略分号,解析器会确定语句的结尾但不赞同。条件控制语句(如if语句)的情况下要求代码块,在控制语句中使用代码块让编码意图清晰,降低代码出错的几率。
关键字和保留字:关键字可用于控制语句的开始或结束。关键字是为语音保留的不能用作标识符,关键字例如 break if do 等等。保留字为:int short 等等。
变量
变量是松散类型的数据,也就是能存储任何类型的数据,定义变量用var操作符,(注意var是一个关键字),后面变量是标识符。
var在function函数中定义变量时,这个变量在函数退出后就会销毁;如果在function函数里面定义一个变量,去掉var时,那么这个变量就会成为全局变量,在这个文件的函数外面都会被访问到。
数据类型
五种基本数据类型:undefined,null,boolen,number和string。一种复杂数据类型object。
首先说下typeof,它是检测给定变量的数据类型,typeof null会返回object,因为它是空的对象,chrome7之前版本中,typeof正则表达式,会返回function,而其他会返回object,从技术的角度来看,函数在ecmascript中是对象,不是数据类型,而函数是特殊的属性,因此通过typeof操作符来区分函数和其他对象。
一,underfind(未定义)
underfind 有两种情况,1是未声明,2未初始化(也就是没有赋值)。
二,null(空指针对象)
一般保存对象时判断非空,如果你保存的是变量而不是真正的对象,就让你保存为null。(unll和underfind之间的相等操作符(==)返回值为true.它们可以转换)。
三,number(数字)
整数和浮点数值两种。
整数,除了10进制外,八进制:字面值的第一位是零,然后八进制的序列是0-7。十进制:前面两位必须是0x,后跟任何16进制的数字,(0-9及A-F)A-F可以大写也可以小写。但在计算时所有的八进制和十进制都将转换成十进制数值。
浮点数值,就是该数值必须包括一个小数点,小数点后面必须有一个有效的数字。犹豫浮点数值储存时时整数的二倍,所以浮点数值会使用e表示法,也就是科学计数法,
举例说明吧,0.00000000000000003也就是简洁为3e-17,默认6个0以上的用e表示法。
数值转换
Number(),parseInt()和parseFloat()这三个函数把非数值转换成数值,第一个number()用于任何数据类型的转换,而另外两个专门用于把字符串转换成数值。
number()函数转换规则:
1,如果是Boolean值,true和false将分别转换成1和0;
2,如果是数字值,只是简单的传入和返回。
3,如果为null将返回0;
4,如果为undfind,将返回NaN;
5,如果是字符串。如下
*,如果字符串是数字,将其转换成字符串。
*,如果是有效的浮点数值,将转换成对应的浮点数值。
*,16进制将转换成十进制。
*,空转换为0。
*,上述以为转换成NaN。
6,如果是对象,调用valueof()方法,在按照前面的规则转换。如果转换结果为NaN,调用toString()方法,在依照前面的规则转换返回字符串。
parseInt()方法判断是否符合数字模式,在转换字符串时,他会忽略字符串前面的空格,直到找到非空数值,如果第一个字符不是数值或为负号,返回NaN。
parseInt()对空字符串返回值为NaN,number返回0。
如果字符串第一个是数字字符会继续解析,直到解析完所以数字字符,或遇到非数字字符。
如果是八进制和十六进制会自动解析成十进制。其他如上。
parseFloat()方法,和上面一样,不过他当遇到第一个小数点是有效的,在遇到就是无效的。
Boolean(布尔类型)
string(字符串)
object(对象)