一、JavaScript简介
JavaScript 是一种嵌入到 HTML 文档的脚本语言,JavaScript是一种弱类型的语言。JavaScript脚本像其他编程语言一样,每个变量都有数据类型,但在声明变量时不需显式地指定其数据类型,变量的数据类型将根据变量的具体内容推导出来,并根据变量内容的改变而自动更改。这是强类型语言无法做到的。
JavaScript采用事件驱动方式,能随时响应键盘事件、鼠标事件及浏览器窗口事件等,并执行指定的操作。
二、变量的声明和使用
JavaScript 使用关键字 var 来声明变量,可以先声明后赋值,也可以在声明的同时赋值,多个变量同时声明使用逗号(,)分隔。
未赋值变量是指已经使用 var 关键字声明,但是没有赋值的变量。
在JavaScript中,未赋值变量有一个默认值,是 undefined ,即” 未定义 “。
三、注释
JavaScript 支持单行注释和多行注释:单行注释以 // 开头;多行注释以 /* 开始,以 */ 结尾。
1.单行:// 2.多行:/* */
注意:JavaScript不支持多行嵌套注释。
四、数学运算
JavaScript中的 Math 对象主要用于数学运算。
Math.round(x) :其中,x 是要进行四舍五入的数字。
Math. floor(x) :对一个数字进行 向下取整 运算。它返回一个小于或等于该数字,并且与之最接近的整数。
Math.ceil(x):向上取整
五、字符串
在JavaScript中,字符串可以使用双引号(" ")或单引号(' ')来表示。
双引号和单引号必须成对出现,双引号里面可以包含单引号,单引号里面也可以包含双引号。
六、数组
在 JavaScript 中,可以通过以下几种方法来定义数组。
1> 使用关键词new创建数组
var myArray=new Array(); myArray[0] = " zhangming "; myArray[1] = " zhaowei "; myArray[2] = " wanghua ";
直接在创建数组的时候直接赋值
var myArray=new Array(" zhangming " , " zhaowei " , " wanghua ");
2>直接使用【】创建数组
var myArray=[]; myArray[0] = " zhangming "; myArray[1] = " zhaowei "; myArray[2] = " wanghua ";
也可以在创建数组的同时进行赋值
var myArray=[ " zhangming " , " zhaowei " , " wanghua " ];
3>创建键值对数组
var myArray=new Array(); // 也可以使用 var myArray=[ ];
myArray["zhangming"] = " 22 "; myArray["zhaowei"] = " 21 "; myArray["wanghua"] = " 30 ";
七、算数运算符
自加和自减
值得注意的是,自加(++)和自减(--)运算符放置在操作数的前面和后面含义不同。
放在操作数前面(前自加 / 前自减),先对操作数进行加1(减1),再进行运算;
放在操作数后面(后自加 / 后自减),先进行运算,再对操作数加1(减1)。
<script type="text/javascript"> var x=5; var y=++x; // 前自加,赋值后 x 的值为 6 var z=x++; // 后自加,赋值后 x 的值为 7 var m=--x // 前自减,赋值后 x 的值为 6 var n=x-- // 后自减,赋值后 x 的值为 5 </script> <p onclick="alert(y);">显示 y 的值</p> 6 <p onclick="alert(z);">显示 z 的值</p> 6 <p onclick="alert(m);">显示m 的值</p> 6 <p onclick="alert(n);">显示 n 的值</p> 6
- 对于 y ,x (x=5)加 1 后的值变为 6 ,再将 x 的值传递给 y 。
- 对于 z ,先将 x 的值(x=6)传递给 z ,再对 x 加 1 ,值变为 7。
- 对于 m ,x (x=7)减 1 后的值为 6,再将 x 的值传递给 m 。
- 对于 n ,先将 x 的值(x=6)传递给 n ,再对 x 减 1,值变为 5 。
八、基本数据类型和引用数据类型
基本数据类型---->栈内存
引用数据类型---->堆内存
不可以直接访问堆内存空间中的位置和操作堆内存空间。只能操作对象在栈内存中的引用地址。
所以,引用类型数据在栈内存中保存的实际上是对象在堆内存中的引用地址。通过这个引用地址可以快速查找到保存中堆内存中的对象。