javascript 简介和基础

来源:互联网 发布:马桶品牌知乎 编辑:程序博客网 时间:2024/05/22 06:33

1.DOM文档对象模型 提供访问和操作网页内容的方法和接口
2. BOM浏览器对象模型 提供和浏览器交互的方法和接口
3. 当前主要的浏览器 IE Firefox Chrome Safari Opera
3.使用元素包含外部javascript文件

src 属性还可以包含外部域的javascript文件,即src属性可以是指向当前html页面所在域之外某个域中的完整url
注意:此时标签之间不应该包含额外的javascript代码。如果包含了嵌入的代码,则只会下载并执行外部脚本文件,嵌入的代码会被忽略。
4. 执行顺序 一般情况下浏览器会按照元素在页面中出现的先后顺序对它们依次进行解析
5. 放的位置
(1)如果放在标签中,所有的javascript代码都被下载,解析和执行完成后,才能呈现页面的内容,会导致呈现页面时明显的延时
(2)如果放在中内容之后,解析javascript代码之前,页面的内容将完全呈现在浏览器中
(3)script标签定义defer属性。脚本会被延迟到整个页面都解析完毕后运行。defer属性只适用于外部脚本文件。延迟脚本总是按照指定它们的顺序执行。

6. async 只适用于外部脚本文件,并告诉浏览器立即下载文件。但与defer不同的是,标记为async的脚本并不保证按照指定它们的先后顺序执行

async属性目的是不让页面等待两个脚本的下载和执行,从而异步加载页面其他内容,为此建议异步脚本不要在加载期间修改DOM.异步脚本一定会在页面load事件前执行。
7. doctype 文档模式:混杂模式(quirks mode)标准模式(standards mode)
如果文档开始处没有文档类型声明,则所有浏览器都会默认开始混杂模式。
8. 当浏览器不支持javacsript时显示替代的内容。其内容在下列情况下才会显示出来(1)浏览器不支持脚本(2)浏览器支持脚本,但是脚本被禁用
9. 定义时使用var,则为局部变量。如果省略var操作符,从而创建的是一个全局变量。
10.数据类型 undefined null boolean number string object

  var message;//这个变量声明之后默认取得了undefined值  //下面这个变量并没有声明  //var age  alert(message);//”undefined”  alert(age);//产生错误  alert(typeof message);//undefined  alert(typeof age);//undefined
  1. null
  var car=null;  alert(typeof car);//object  alert(null==undefined);//true
  1. Boolean
    string: 真:非空字符 假:空字符(假)
    number : 真:任何非0数字 假: 0和NAN
    object 真:任何对象 假:null
    undefined 真: 假:undefined
    13.number
    八进制第一位必须是0,数字为(0-7),如果数值超出了范围,前面的0将被忽略,后面的数值当做十进制解析。
  var octalNuml=070;//八进制的56  var octalNuml=079;//无效八进制,解析为79  var octalNuml=08;//无效八进制,解析为8

十六进制的前两位必须是0x
14. 如果浮点数小数点后面没有任何数字,这个数就会被当做整数值保存。
如果浮点数包含6个以上的0,会默认转化为e的写法
15. NaN 非数值 ,任何涉及NaN的操作都会返回NaN, NaN与任何值都不相等

  //isNaN  alert(isNaN(NaN));//true  alert(isNaN(10));//false  alert(isNaN("10"));//false 可以转换成数值10  alert(isNaN("blue"));//true  不能转换成数值  alert(isNaN(true));//false 可以转换成数值1

16.number 将非数值转化为数值,转换规则如下:
如果是boolean,true和false分别转换为1和0
如果是数字值,只是简单的传入和返回
如果是null值,返回0
如果是undefined,返回NaN
如果是字符串:(1)字符串只包含数字,则转化为十进制数值
(2) 字符串包含有效的浮点格式,转化为对应的浮点数值
(3)如果字符串包含有效的十六进制,则转化为相同大小的十进制整数
(4)如果字符串是空的,则转化为0
(5)如果字符串包含上述格式之外的字符,则转化为NaN
如果是对象,则调用对象的valueOf()方法,然后按照前边的规则进行转换返回的值。如果转换结果是NaN,则调用对象的toString()方法,然后按照前面的规则转化返回的字符串值。

  //Number  var num1=Number("Hello word");//NaN  var num2=Number(" ");//0  var num3=Number("000011");//11  var num4=Number(true);//1
  1. parseInt() 会忽略字符串前面的空格,直至找到第一个非空格字符。
    如果第一个字符不是数字字符或者负号,则返回NaN。也就是parseInt()转换空字符串返回NaN
 // parseInt var num1=parseInt("1234blue");//1234 var num2=parseInt(" ");//NaN var num3=parseInt("0xA");//10  十六进制 var num4=parseInt(22.5);//22 var num5=parseInt("070");//56  八进制 var num6=parseInt("70");//70 十进制 var num7=parseInt("0xf");//15  十六进制 var num=parseInt("0xAF",16);  //175 var num1=parseInt("AF",16);  //175 var num2=parseInt("AF")   //NaN

18.parseFloat() 只解析十进制的值,没有第二个参数可以指定

 //parseFloat var num1=parseFloat("1234blue");//1234 整数 var num2=parseFloat("0xA");//0 var num3=parseFloat("22.5");//22.5 var num4=parseFloat("22.34.5");//22.34 var num5=parseFloat("0908.5");//908.5 var num6=parseFloat("3.125e7");//3.1250000
  1. 调用数值的toString()方法时,可以指定输出数值的基数。null和undefined 没有toString()方法
    String方法:如果值有toString()方法,则调用该方法并返回相应的结果。如果是null,则返回”null”.如果值是undefined,则返回”undefibed”
  2. 二进制补码 :求这个数值绝对值的二进制码,然后求二进制的反码,得到二进制反码后加1
  3. 按位非 ~ 操作数的负值减1 ~25等于-26
    ^ 异或 相同为0,不同为1
  4. 有符号右移 >> (使用符号位填充空位)
    无符号右移 >>> (使用0填充空位)
    对于正数,无符号右移与有符号右移的结果相同,无符号右移会把负数的二进制码当成正数的二进制码,由于负数以二进制补码的形式表示,因此会导致右移之后结果非常大。
 var oldValue=-64;//等于二进制11111111111111111111111111111100000 var newValeu=oldValue>>>5;//等于十进制134217726

23.逻辑与 &&和逻辑或||都是短路操作符。
对于逻辑与,如果第一个操作数是false,则第二个操作数不会执行。
对于逻辑或,如果第一个操作数是true。则不会对第二个操作数求值了。
24. 逗号操作符,返回表达式中的最后一项。 var num=(5,1,4,8,0);//num 的值为0

0 0
原创粉丝点击