javascript使用

  • <script>标签
    JavaScript 代码必须位于 <script> 与 </script> 标签之间
    能够在 HTML 文档中放置任意数量的脚本。
    脚本可被放置与 HTML 页面的 <body> 或 <head>部分中,或兼而有之。

也可放置在扩展名为.js的外部文件中:
通过<script src="/path/file.js"></script>的方式引入

javascript输出

javascript不提供任何内建的打印或显示函数。
要通过以下方式”显示”数据:

  • 使用 window.alert() 写入警告框

  • 使用 document.write() 写入 HTML 输出

  • 使用 innerHTML 写入 HTML 元素

  • 使用 console.log() 写入浏览器控制台

  • 分号;
    分号每句结束符。
    JavaScript 会忽略多个空格。可以向脚本添加空格,以增强可读性。

  • 可以折行,代码行太长时

    1
    2
    document.getElementById("demo").innerHTML =
    "Hello man.";

语法

  • 值:
    两种类型的值:混合值和变量值。
    混合值被称为字面量(literal)。变量值被称为变量。
    字符串是文本,由双引号或单引号包围

  • var 声明变量
    名称可包含字母、数字、下划线和美元符号
    名称必须以字母开头
    名称也可以 $ 和 _ 开头
    名称对大小写敏感(y 和 Y 是不同的变量)
    保留字(比如 JavaScript 的关键词)无法用作变量名称

声明多个变量用,号分隔

1
2
3
4
5
6
7
8
9
123
123.4
"123"
'abc'
var x;
x=3;
var x=5;
var name = "zs", age = 18; //一行声明多个变量。
var y; //未赋值,值将是undefined。
  • 注释
    以//开头 或 包含在”/* */“之间.

所有 JavaScript 标识符对大小写敏感。
变量 lastName 和 lastname,是两个不同的变量。

运算符

  • 算数运算符

| 运算符|描述 |
|– |– |
|+ |加法 |
|- |减法 |
|* |乘法 |
|** |幂 |
|/ |除法 |
|% |系数 |
|++ |递加 |
|– |递减 |

  • 赋值运算符
    = += -= *= /= %=

在用于字符串时,+ 运算符被称为级联运算符。
相加两个数字,将返回和,但对一个数字和一个字符串相加将返回一个字符串:

  • 比较运算符

|运算符 |描述 |
|– |– |
|== |等于 |
|=== |等值等型 |
|!= |不相等 |
|!== |不等值或不等型 |
|> |大于 |
|< |小于 |
|>= |大于或等于 |
|<= |小于或等于 |
|? |三元运算符 |

  • 逻辑运算符
    && 与
    || 或
    ! 非

  • 类型运算符
    typeof 返回变量类型
    instanceof 返回 true,如果对象是对象类型的实例。

  • 位运算符

1
2
3
4
5
6
& 与
| 或
~ 非
^ 异或
<< 零填充左位移
>> 零填充右位移

数据类型

字符串值,数值,布尔值,数组,对象。
变量能够保存多种数据类型:数值、字符串值、数组、对象等等

1
2
3
4
5
6
7
<script>
var x = "hello" + 3 + 5;
var y = 3 + 5 + "hello";
console.log(x);
window.alert(x); //hello35
window.alert(y); //8hello
</script>
  • 布尔值
    只有两个值:true或false
  • 数组
    用方括号书写,数组项目用逗号分隔。
  • 对象
    用花括号{}包含,对象属性是 name:value 对,由逗号分隔。
1
2
3
var names = ["张三","李四","王五"];
var pers = {name:"张三",age:18,addr:"西安市碑林区"};
console.log(typeof names); //object

typeof 运算符对数组返回 “object”,因为在 JavaScript 中数组属于对象。

  • undefined
    在 JavaScript 中,没有值的变量,其值是 undefined。typeof 也返回 undefined。

  • Null
    在 JavaScript 中,null 是 “nothing”。它被看做不存在的事物。
    不幸的是,在 JavaScript 中,null 的数据类型是对象。
    可以把 null 在 JavaScript 中是对象理解为一个 bug。它本应是 null。
    可以通过设置值为 null 清空对象:

Undefined 与 null 的值相等,但类型不相等

原始数据

原始数据值是一种没有额外属性和方法的单一简单数据值。
typeof 运算符可返回以下原始类型之一:

  • string
  • number
  • boolean
  • undefined

复杂数据

typeof 运算符可返回以下两种类型之一:

  • function
  • object
    typeof 运算符把对象、数组或 null 返回 object。
    typeof 运算符不会把函数返回 object。

函数

函数通过 function 关键词进行定义,其后是函数名和括号 ()。

1
2
3
function name(参数 1, 参数 2, ...) {
要执行的代码
}

当 JavaScript 到达 return 语句,函数将停止执行。

1
2
3
4
5
var x = myFunction(7, 8);        // 调用函数,返回值被赋值给 x

function myFunction(a, b) {
return a * b; // 函数返回 a 和 b 的乘积
}

() 运算符调用函数
不带(),引用函数对象,带括号引用函数结果。

1
2
3
4
5
function fun(x,y){
return x*y;
}
console.log(fun(3,4));//返回12
console.log(fun);//返回函数体

函数体内声明的变量,为局部变量

对象

对象也是变量。但对象包含很多值。
在 JavaScript 中,几乎“所有事物”都是对象。除原始值。
布尔是对象(如果用 new 关键词定义)
数字是对象(如果用 new 关键词定义)
字符串是对象(如果用 new 关键词定义)
日期永远都是对象
算术永远都是对象
正则表达式永远都是对象
数组永远都是对象
函数永远都是对象
对象永远都是对象

创建方法:

  1. 使用对象字面量

var person = {name:”zs”,age:20,addr:xian};

  1. 使用new关键字

var person = new Object();
person.name = “lisi”;
person.age = 23;
person.addr = “xian”;

  • 属性
    访问对象属性有两种方式:

    1. objectName.propertyName
    2. objectName.[“propertyName”]
    • 可通过赋值添加属性

person.height = 1.7;
- delete关键字从对象中删除属性
delete person.age;

  • 方法
    方法是作为属性来存储的函数。
    访问对象方法:
    objectName.methodName()
    objectName.methodName 返回函数体。
  • this关键字
    this 引用该函数的“拥有者”。
1
2
3
4
5
6
7
8
9
10
11
var cat = {
name: "哇哇",
age: 4,
owner: "杯子",
getInfo: function() {
return this.owner + "家的猫咪:" + "名字叫" + this.name + this.age + "岁啦";
}
}
console.log(cat.name);
console.log(cat.age);
console.log(cat.getInfo());

事件