javascript重修

一:DOM和BOM区别
BOM是浏览器对象模型,用来获取或设置浏览器的属性、行为,例如:新建窗口、获取屏幕分辨率、浏览器版本号等。
DOM是文档对象模型,用来获取或设置文档中标签的属性,例如获取或者设置input表单的value值。
BOM的内容不多,主要还是DOM。
由于DOM的操作对象是文档(Document),所以dom和浏览器没有直接关系。

兼容性:
JavaScript由3部分组成: ECMAScript:解释器、翻译兼容性:完全兼容
DOM:Document Object Model (文本对象)兼容性:部分不兼容
BOM:Browser Object Model (浏览器对象)兼容性:不兼容(例如IE,谷歌,火狐,不可能兼容)

二:知识点
1、html输出:document.write('输出内容');
警告
请使用 document.write() 仅仅向文档输出写内容。
如果在文档已完成加载后执行 document.write,整个 HTML 页面将被覆盖
2、onclick: <button type="button" onclick="alert('Welcome!')">点击这里</button>
3、alert('弹出提示'):多用于测试代码
4、改变html内容:x=getElementById('id属性值');
         x.innerHTML='新的值内容';
5、改变html图像:
 1 <!DOCTYPE html>
 2 <html>
 3 <body>
 4 <script>
 5 function changeImage()
 6 {
 7 element=document.getElementById('myimage')
 8 if (element.src.match("bulbon"))
 9   {
10   element.src="/i/eg_bulboff.gif";
11   }
12 else
13   {
14   element.src="/i/eg_bulbon.gif";
15   }
16 }
17 </script>
18 
19 <img id="myimage" onclick="changeImage()" src="/i/eg_bulboff.gif">
20 
21 <p>点击灯泡来点亮或熄灭这盏灯</p>
22 
23 </body>
24 </html>

6、改变html样式

x=document.getElementById("demo")  //找到元素
x.style.color="#ff0000";           //改变样式

7、验证输入

if isNaN(x) {alert("Not Numeric")};

8、<script></script>

  任何浏览器都可以解析,识别里面的js代码,不用再写type='text/javascript';

9、script 中的src属性设置外联外联js文件

<script src="myScript.js"></script>

外部脚本不能包含 <script> 标签

10、分号

  分号用于分隔 JavaScript 语句。

  通常我们在每条可执行的语句结尾添加分号。

  使用分号的另一用处是在一行中编写多条语句。

  提示:您也可能看到不带有分号的案例。

  在 JavaScript 中,用分号来结束语句是可选的。

11、JavaScript 对大小写是敏感的

12、JavaScript 会忽略多余的空格

13、JavaScript 是脚本语言。浏览器会在读取代码时,逐行地执行脚本代码。而对于传统编程来说,会在执行前对所有代码进行编译。

14、单行注释以 // 开头

  多行注释/*....*/。

15、变量如同代数(可存放值、字符串和表达式)

var x=2;
var y=3;
var z=x+y;

16、如果重新声明 JavaScript 变量,该变量的值不会丢失:

在以下两条语句执行后,变量 carname 的值依然是 "Volvo":

var carname="Volvo";
var carname;

17、

JavaScript 只有一种数字类型。数字可以带小数点,也可以不带:

var x1=34.00;      //使用小数点来写
var x2=34;         //不使用小数点来写

极大或极小的数字可以通过科学(指数)计数法来书写

var y=123e5;      // 12300000
var z=123e-5;     // 0.00123

18、声明变量类型

当您声明新变量时,可以使用关键词 "new" 来声明其类型:

var carname=new String;
var x=      new Number;
var y=      new Boolean;
var cars=   new Array;
var person= new Object;

JavaScript 变量均为对象。当您声明一个变量时,就创建了一个新的对象。

19、属性和方法

属性是与对象相关的值。

方法是能够在对象上执行的动作。

20、自定义对象

person=new Object();
person.firstname="Bill";
person.lastname="Gates";
person.age=56;
person.eyecolor="blue";

21、文本变大写属性:toUpperCase()

var message="Hello world!";
var x=message.toUpperCase();

22、命名

多使用小驼峰,不使用下划线

23、函数是由事件驱动的或者当它被调用时执行的可重复使用的代码块。

24、局部变量:在函数内声明的变量,只有该函数可以调用,函数运行完毕,局部变量就会被删除。

25、全局变量:在函数外声明的变量,网页上的所有脚本和函数都可以使用,页面关闭后会被删除。

26、如果您把值赋给尚未声明的变量,该变量将被自动作为全局变量声明。

carname="Volvo";

将声明一个全局变量 carname,即使它在函数内执行。

27、字符串连接‘+’。

28、数字与字符串相加,得到的是字符串。

29、switch中的default:

switch (day)
{
case 6:
  x="Today it's Saturday";
  break;
case 0:
  x="Today it's Sunday";
  break;
default:
  x="Looking forward to the Weekend";
}

 30、setTimeout和setInterval.

①setTimeout(表达式,延时时间)在执行时,是在载入后延迟指定时间后,去执行一次表达式

<script>  
setTimeout("alert(‘对不起, 要你久候’)", 3000 )  
或者如下:
setTimeout(function(){
...},3000); </script>

②setInterval(表达式,交互时间)则不一样,它从载入后,每隔指定的时间就执行一次表达式 

③区别:

//每60秒执行myFunction()一次
setInterval("myFunction()",60000);
funcition myFunction(){
alert(’myFunction()’);
}
//每60秒执行一次myFunction()
setTimeout("myFunction()",60000);    //需要函数触发
//如 放置在 body 的 onload事件里面

  

原文地址:https://www.cnblogs.com/zygxfx/p/4368372.html