1.介绍:
javaScript 是一种可以在浏览器中运行的脚本语言, 主要用来实现在浏览器端的动作(用户交互 和 数据处理)。
html : 内容CSS : 显示
JS : 动作
javaScript源代码放在HTML里头,从服务器下载到本地,在浏览器中运行。
<html>
<body>
<script>
document.write("hello world!"); //JS代码 document为浏览器页面对象 write为document对象函数
</script>
</body>
</html>
2.语句:
大小写敏感。
JS中的语句不要求句尾加分号,但是最好还是加上比较符合编程习惯。
first statement;
second statement;
分行:反斜杠 \ (如果是拼接字符串的话,句尾就不用加反斜杠了,下一行的首字符为+号就行了)
document.write \
("Hello World");
3.注释:
单行注释:// 或 <!-- 一般用前者
多行注释:/* */
4.变量的声明和赋值:
用var声明,表示这是一个局部变量,如果不用var的话,这个变量就是一个全局变量。
所以,JavaScript中变量不用先声明再使用,但是先声明再使用一个好习惯。
var hello; //hello的变量
hello = "Hello"; //赋值
计算
var age = 16 // 整数和浮点数不区分
document.write(hello + age); //数值转为字符串进行连接
5.数据类型:
值类型:string, number, boolean, null, undefined.
引用类型:object,function,Array
字符串/数值/布尔值:
字符串用双引号 “ ” 或单引号 ‘ ’ 来表示,需要混用的时候,一般都是双引号里面直接加单引号,双引号要加转义符 \ 。
var mood ="I'm good,but She said : \" Fuck you \".";
JavaScript是弱类型的编程语言,所以整数、浮点数、负数的声明方式都和字符串一样,甚至可以这样使用变量:
var tmp = “Love”;
tmp = 33;
tmp = true;
数组:在声明时可以指定数组的长度,也可以不指定长度(其实指定了也没用,长度可以任意改的)。
var beatles = Array(4) ; / var beatles = Array(); // 或者直接省略这句声明,直接用下面那句前面加个var就可以使用了。
beartles = [“gfdsb”,”htr“,”fds“,”123“];
对象:
•声明方法1:
var lennon = Object();
lennon.name = "John";
lennon.year = 1990;
•声明方法2:
var lennon = {
name: John,
year: 1990 };
•声明方法3:
var beatles = {};
beatles.vocalist = lennon; // 把一个对象赋给另一个对象的属性。
6.操作:
•算数操作 : + - * / %(取余) ++ --
•运算后赋值: += -= *= /= %=
•条件判断:(用于if 、while语句)
== 、!=、< 、> 、 <= 、 >= 、===(严格相等) 、!==(严格不相等)
•逻辑判断:
&& || ! : !(x==y)
- var tmp = null;
- var txt = "";
- var bln = false;
- if (0){
- alert("ok0"); // 不输出 因为值为 0 时判断为false
- }
- if (tmp) {
- alert("ok1"); // 不输出 因为null是一个值为0的对象。
- }
- if (txt) {
- alert("ok2"); // 不输出 因为空的字符串在判断时也算为false
- }
- if (tmp == txt){
- alert("ok3"); // 不输出 因为一个是值为0,一个是值为空
- }
- if (bln == tmp){
- alert("ok4"); // 不输出 因为false != null
- }
- if (bln == txt && bln == 0){
- alert("ok5"); // 输出 因为false == 0 , false == ""
- }
- if (bln === txt || bln === 0){
- alert("ok6"); // 不输出 因为 === 是严格等于,还会同时判断变量类型的。
- }
补充:这里涉及到了null,以后还会专门开专题讲null和undefined的区别。
if(tmp = 12) // true
if(tmp = 0) // false
if(tmp = "") // false
if(tmp = false) // false
7.if else 、for 、 while、switch
就列个switch的例子吧,没啥好讲的,循环里稍微看下break和continue的区别就好了(和大一学的C语言一样)
- var day=new Date().getDay();
- 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";
- }
8.函数及作用域:
函数就是一段代码,javaScript有很多内置函数
var f = new function(x, y)
{
return x+y;
}
- function square(num){
- total = num * num;
- return total;
- }
- var total = 50;
- var number = square(20);
- alert(total);
所以这里要尤其注意,正确的方法是方法里的total要加上var 局部变量,这样就不会影响了。
9.数组:
var arr = new Array()
var b = new Array(Size)
var c = new Array(d1, d2, ... dn);
转换数组为字符串
var colors = ["red", "blue", "green"]
colors.toString()
colors.join("11")
10.对象:
对象是javaScript的一种复合数据类型,它可以把多个数据集中在一个变量中,并且给其中的每个数据起名字
或者说对象是一个属性集合,每个属性有自己的类型和值。
构造方法:
function Rect(w, h)
{
this.width = w;
this.height = h;
this.erea = function(){ return this.width * this.height; };
}
原型对象
对象的prototype属性指定了它的原型对象,可以用运算符直接读它的原型对象的属性。
11.javaScript与浏览器:
全局对象
1.浏览器的全局对象是window
所有全局的变量实际上是window的成员
var answer = 12;
alert(window.answer);
2.window.document表示浏览器窗口中的HTML页面
document.write("将内容写入页面")
3.页面中的元素就是document里的成员
for(x in document)
document.write(x + "<br/>")
事件处理器
<p onMouseOver = "alert("h1")"> //这个段落当鼠标经过的时候触发
定时器
function update(){
if(count > 0)
status = count--;
}
<body onload = setInterval("update()", 1000)>
setInterval() //每隔一定时间调用一个函数
document的成员
anchors[]
forms[]
images[]
cookie
title
html中的页面要有一些动作,则先把这些加上name,方便后面脚本查找