JavaScript基础
JavaScript组成:
- ECMAScript:解释器、翻译 --- 翻译给计算机,并将计算机计算结果翻译给用户,几乎没有兼容性问题。(但还是有的)
- DOM:Document Object Model --- 文档、对象、模型 --- 操作页面元素的起点,有一些兼容性问题。可以处理、弥补的。
- BOM:Browser Object Model --- 浏览器、对象、模型 --- 给了用户操作浏览器的能力。没有兼容性问题---因为它几乎不兼容!何谈兼容性问题。
--- 各组成部分的兼容性,兼容性问题的由来
变量类型:
- typeof 变量; //显示变量是什么类型。
--- number、string、boolean、object、function、undefined。
- 一个变量最好只存放一种数据类型。
数据类型转换:
显示类型转换:
必要性:当通过value获取文本框中输入的数字时,我们需要将字符串转成数字再相加才能求和。
--- (parseInt(string)可以完成这个功能) --- 更准确说:从字符串中提取数字,从第一位开始。(从左至右,第一次遇到非数字字符停止。) --- 当字符串为纯字符串时,我们将输出 NAN (not a number)
--- parseFloat
--- isNaN(值) 返回一个值是否为NaN,是则返回true,否则返回false。
隐式类型转换:
例如:
var a='12'; var b=12; alert(a==b); 弹出 true ; //有隐式类型转换 // alert(a===b); 弹出false ; //不转换,直接比较
减法:
var a="12"; var b="5"; alert(a-b); //这里会隐式转换,弹出 7 ; /* 另外 乘除 都会隐式转换 加号:1.字符串链接 2.数字相加 减号:只能做数字想减 */
命名规范:
可读性---能看懂
规范性---符合规则
- 匈牙利命名法:
--- 类型前缀 例如: var oText1=document.getElementById('text1'); // o 就代表object
--- 首字母大写
Json --- 相当于结构体
var obj={a:5, b: 3, c='abc'};
for in :
for ( attr in obj){ alert(attr + '=' + obj[attr] ); }
// 这里的 attr 保存的就是 obj里面的变量名称 : a,b,c