JavaScript数据类型 事件 及作用域
JavaScript 数据类型
null表示的是一个对象的值,而并不是一个字符串。例如声明一个对象的引用,String a = null
指向为null,还没有指向任何的内存空间。
""表示的是一个空字符串,也就是说它的长度为0。例如声明一个字符串String str = "" 其值为""空字符串,这个str引用指向的是空字符串的内存空间;
字符串(String)、数字(Number)、布尔(Boolean)、数组(Array)、对象(Object)、空(Null)、未定义(Undefined)。
JavaScript 拥有动态类型。
var x = 5; // 现在 x 为数字
var x = "John"; // 现在 x 为字符串
var x = "John"; // x 是字符串 var y = new String("John"); // y 是一个对象
字符串属性:constructor:返回创建字符串属性的函数 length:返回字符串的长度 prototype:允许您向对象添加属性和方法
• JavaScript 只有一种数字类型。数字可以带小数点,也可以不带:极大或极小的数字可以通过科学计数法来书写:科学计数法 :123e5=12300000 123-e=0.00123
• 布尔(逻辑)只能有两个值:true 或 false。var x=true; var y=false;
•定义数组:数组下标是基于零的,所以第一个项目是 [0],第二个是 [1],以此类推。
var cars = new Array();
cars[0] = "a";
cars[1] = "b";
cars[2] = "c";
var cars = new Array("a","b","c")
var cars=["a","b","c"]
• JavaScript 对象由花括号分隔。在括号内部,对象的属性以名称和值对的形式 (name : value) 来定义。属性由逗号分隔。{firstName:"John", lastName:"Doe", age:50, eyeColor:"blue"}
两种寻址方式:name=person.lastname; name=person["lastname"];
•Undefined 这个值表示变量不含有值。可以通过将变量的值设置为 null 来清空变量。cars=“ ”;
声明新变量时,可以使用关键词 "new" 来声明其类型: var carname=new String;
JavaScript 作用域
变量在函数外定义,即为全局变量。全局变量有 全局作用域: 网页中所有脚本和函数均可使用。 全局变量是 window 对象
变量在函数内声明,变量为局部作用域。局部变量:只能在函数内部访问。
JavaScript 变量生命周期在它声明时初始化。局部变量在函数执行完毕后销毁。全局变量在页面关闭后销毁。
在函数内部,一般用var声明的为局部变量,没用var声明的一般为全局变量
Javascript在执行前会对整个脚本文件的声明部分做完整分析(包括局部变量),但是不能对变量定义做提前解析。
JavaScript事件:JavaScript事件和HTML事件
<button onclick="getElementById('demo').innerHTML=Date()">现在的时间是?</button>
<button onclick="this.innerHTML=Date()">现在的时间是?</button>
JavaScript事件:通过事件属性调用
<button onclick="displayDate()">点我</button> <p id="demo"></p>
<script>
function displayDate()
{
document.getElementById("demo").innerHTML=Date();
}
</script>
onchange:HTML元素改变 oncilck:用户点击HTML元素 onmouseover:用户在一个HTML元素上移动鼠标 onmouseout:用户从一个HTML元素上移开鼠标
onkeydown:用户按下键盘按键 onload:浏览器已完成页面的加载 onunload 事件在用户退出页面时发生,页面下载时触发,发生于当用户离开页面时发生的事件(通过点击一个连接,提交表单,关闭浏览器窗口等等。)