1.插入JS

外部JS插入方式:<script src="script.js"></script>
内部插入JS方式:<script type="text/javascript"> </script>
JS在页面中的位置:javascript可以放在html页面中任何位置,但是浏览器解释html时是按先后顺序的,所以前面的script就先被执行。比如进行页面显示初始化的js必须放在head里面;而如果是通过事件调用执行的function那么对位置没什么要求的。
2.JS输出
  • 使用 window.alert() 弹出警告框 
  • 使用 document.write() 写入 HTML 输出 仅用于测试 在 HTML 文档完全加载后使用  删除所有已有的 HTML 
  • 使用 innerHTML 写入 HTML 元素 更改HTML元素的内容
  • 使用 console.log() 写入浏览器控制台 但不显示出来 只能按F12从后台中看到

3.变量相关小知识点

变量具有重复性:

如果再次声明某个 JavaScript 变量,将不会丢它的值,如在这两条语句执行后,变量 carName 的值仍然是 "porsche":
var carName = "porsche";
var carName; 

数据类型,包括:

var length = 7; // 数字 var lastName = "Gates"; // 字符串 var cars = ["Porsche", "Volvo", "BMW"]; // 数组 相同数组中可以存放不同类型的变量 项目由逗号分隔 索引基于零 var x = {firstName:"Bill", lastName:"Gates"}; // 对象用花括号来书写 对象属性是 name:value对 由逗号分隔  

对象中也可以包含方法:

var person = {
  firstName: "Bill",
  lastName : "Gates",
  id       : 678,
  fullName : function() {
  return this.firstName + " " + this.lastName;
  }
};

访问对象属性可以使用:

person.lastName;
或
person["lastName"];

使用new将创建对象:

如果通过关键词 "new" 来声明 JavaScript 变量,则该变量会被创建为对象:
var x = new String(); // 把 x 声明为 String 对象 var y = new Number(); // 把 y 声明为 Number 对象 var z = new Boolean(); //把 z 声明为 Boolean 对象
//对象的类型就是object
var x = "Bill";
var y = new String("Bill");
// typeof x 将返回 string
// typeof y 将返回 object

typeof关键字:

可使用 JavaScript 的 typeof 来返回变量或表达式的类型 
把对象、数组或 null 返回 object 不会把函数返回 object
typeof "Bill" // 返回 "string"
typeof 3.14;// 返回 "number"
var person;// 值是 undefined,类型是 undefined
var car = ""; // 空值与 undefined 不是一回事 值是 "",类型是 "string"

//对于复杂数据,返回function或object
typeof false  // 返回 "boolean"
typeof {name:'Bill', age:62} // 返回 "object"
typeof [1,2,3,4]        // 返回 "object" 
typeof null            // 返回 "object"
typeof function myFunc(){}  // 返回 "function" 

特殊字符:

字符串变量之中特殊字符插入方式:
代码 结果 描述
\' ' 单引号
\" " 双引号
\\ \ 反斜杠
\b 退格键
\f 换页
\n 新行
\r 回车
\t 水平制表符
\v 垂直制表符

相等符号:

当使用 == 相等运算符时,相等字符串是相等的:
var x = "Bill";             
var y = new String("Bill"); // (x == y) 为 true,因为 x 和 y 的值相等
当使用 === 运算符时,相等字符串是不相等的,因为 === 运算符需要类型和值同时相等:
var x = "Bill";             
var y = new String("Bill"); // (x === y) 为 false,因为 x 和 y 的类型不同(字符串与对象)

字符串和数字运算时:

+ 为字符串串联:
var x = 10;
var y = "20";
var z = x + y; // z 将是 1020(一个字符串)
其他数字运算都会尝试把字符串转换为数字:
var x = "100";
var y = "10";
var z = x / y; // z 将是 10

4.HTML事件

事件 描述
onchange HTML 元素已被改变
onclick 用户点击了 HTML 元素
onmouseover 用户把鼠标移动到 HTML 元素上
onmouseout 用户把鼠标移开 HTML 元素
onkeydown 用户按下键盘按键
onload 浏览器已经完成页面加载

5.数组

5.1数组排序:

默认地,sort() 函数按照字符串顺序对值进行排序,因此函数很适合字符串,但不适合纯数值。
对于数值排序应该通过一个比值函数来修正此问题,升序排序:
var points = [40, 100, 1, 5, 25, 10];
points.sort(function(a, b){return a - b}); 
比较函数的目的是定义另一种排序顺序。

比较函数应该返回一个负,零或正值,这取决于参数:

function(a, b){return a-b}

当 sort() 函数比较两个值时,会将值发送到比较函数,并根据所返回的值(负、零或正值)对这些值进行排序。

比如:当比较 40 和 100 时,sort() 方***调用比较函数 function(40,100)。
该函数计算 40-100,然后返回 -60(负值)。
排序函数将把 40 排序为比 100 更低的值。
以随机顺序排序数组:


var points = [40, 100, 1, 5, 25, 10];
points.sort(function(a, b){return 0.5 - Math.random()}); 


5.2数组迭代


2.打开新窗口和关闭窗口

2.1(window.open)

open() 方法可以查找一个已经存在或者新建的浏览器窗口:
window.open([URL], [窗口名称], [参数字符串])
参数说明:

URL:可选参数,在窗口中要显示网页的网址或路径。如果省略这个参数,或者它的值是空字符串,那么窗口就不显示任何文档。

窗口名称:可选参数,被打开窗口的名称。

    1.该名称由字母、数字和下划线字符组成。

    2."_top""_blank""_self"具有特殊意义的名称。

       _blank:在新窗口显示目标网页

       _self:在当前窗口显示目标网页

       _top:框架网页中在上部窗口中显示目标网页

   3.相同 name 的窗口只能创建一个,要想创建多个窗口则 name 不能相同。

   4.name 不能包含有空格。

参数字符串:可选参数,设置窗口参数,各参数用逗号隔开。


例如:打开http://www.imooc.com网站,大小为300px * 200px,无菜单,无工具栏,无状态栏,有滚动条窗口:
<script type="text/javascript">
 window.open('http://www.imooc.com','_blank',
'width=300,height=200,menubar=no,toolbar=no, status=no,scrollbars=yes')
</script>

2.2(window.close)

window.close(); //关闭本窗口
//或
<窗口对象>.close();   //关闭指定的窗口
例如:关闭新建的窗口。
<script type="text/javascript">
   var mywin=window.open('http://www.imooc.com'); //将新打的窗口对象,存储在变量mywin中 mywin.close();
</script>

3.DOM节点

3.1认识节点:

HTML文档可以说由节点构成的集合,三种常见的DOM节点:

1. 元素节点:上图中<html>、<body>、<p>等都是元素节点,即标签。

2. 文本节点:向用户展示的内容,如<li>...</li>中的JavaScript、DOM、CSS等文本。

3. 属性节点:元素属性,如<a>标签的链接属性href="http://www.imooc.com"。

3.2获取节点

获取元素节点:
  • document.getElementById("id") 

获取文本节点
获取属性节点