JS学习笔记
2007-07-24 09:05
295 查看
1. 空值:null,undefined(NaN, Not a Number)
e.g.: var bestAge=null; //null
var currentCount; //undefined,NaN
作比较时,null value==undefined value :window.alert(bestAge==currentCount);//返回true;
2. 隐式类型转换:
string + number == string + number.toString();
string + boolean == string + boolean.toString();
Boolean + number == number + 0/1;
3. 数据类型:
3.1 基本类型:
string:由单引号或双引号括起;
Number:integer和浮点数都被当作浮点数处理;
Boolean:true/false;
3.2 复合类型
Object:
Array:
3.3 特殊类型:
Null:var v=null; typeof(v)=="object";
undefined:var v; typeof(v)=="undefined";
if(typeof(v) == "undefined"){}//注意要用引号
4. 操作符:
1==“1” //结果为true;
1===“1” //结果为false;
delete/typeof/void/instanceof/new/in
5. Object & Array
Array是一个特殊的Object,它拥有length属性。
例如:
Array myArray = new Array();
myArray[100] == "hello";//则length属性自动增长到101;
myArray.length=100;//则自动删除下后面的元素;
所以的Object都有自动扩张的特点,e.g.:
var myObj = new object();
myObj.name="happyhippy";
myObj["age"]=23;
myObj["Not A valid identifier"]="This is a valid Property";
myObj[100] = "100";
补充:在Array对象上扩张属性,并不会改变其length。
var myArr = new Array();
myArr["100"] = 'length变成101, “100”被当作数字处理';
myArr["100 "] = 'length还是101,“100 ”中间有空格,此时只能当作属性被处理';
6. 特殊对象
6.1 string:
string.subString(7,4); //自动取较小的作为start,较大的作为end;
string.length属性;
6.2 Math:
Math.PI
Math.pow(number,power);
6.3 Date:
var today = new Date();
today.getYear();
today.getMonth();
today.getDate();
6.4 Number:
Max_Value:(+/-)1.79E+308
Min_Value:(+/-)1.79E-308
NaN: Not a Number
POSITIVE_INFINITY:1.79E+308
NEGATIVE_INFINITY:-1.79E+308
isNaN:判断是否为NaN值;
var v=value/0;//或Number.NaN,来设置NaN值
7. 自定义对象:
e.g:
function MyObject(i,j)
{
this.p1 = i;
this.p2 = j;//添加属性
this.toString = changeToString;//添加方法
}//任一函数,都可以当作构造函数和类型的定义
function changeToString()
{
return this.p1.toString()+this.p2.toString()+this.p3.toString();
}
var myObj = new MyObject(1,2);
myObj.prototype.p3 = 3; //添加属性
myObj.toString();//返回“123”
8. document.write()/document.writeln();
当document不是正在被打开或解析,调用这些方法将会清空document,然后在write。
9. MessageBox:
window.alert("Message");
var bool = window.confirm("OK to Continue; Cancel to Stop!");
var value = window.prompt("WelCome?","Enter your name here:");
e.g.: var bestAge=null; //null
var currentCount; //undefined,NaN
作比较时,null value==undefined value :window.alert(bestAge==currentCount);//返回true;
2. 隐式类型转换:
string + number == string + number.toString();
string + boolean == string + boolean.toString();
Boolean + number == number + 0/1;
3. 数据类型:
3.1 基本类型:
string:由单引号或双引号括起;
Number:integer和浮点数都被当作浮点数处理;
Boolean:true/false;
3.2 复合类型
Object:
Array:
3.3 特殊类型:
Null:var v=null; typeof(v)=="object";
undefined:var v; typeof(v)=="undefined";
if(typeof(v) == "undefined"){}//注意要用引号
4. 操作符:
1==“1” //结果为true;
1===“1” //结果为false;
delete/typeof/void/instanceof/new/in
5. Object & Array
Array是一个特殊的Object,它拥有length属性。
例如:
Array myArray = new Array();
myArray[100] == "hello";//则length属性自动增长到101;
myArray.length=100;//则自动删除下后面的元素;
所以的Object都有自动扩张的特点,e.g.:
var myObj = new object();
myObj.name="happyhippy";
myObj["age"]=23;
myObj["Not A valid identifier"]="This is a valid Property";
myObj[100] = "100";
补充:在Array对象上扩张属性,并不会改变其length。
var myArr = new Array();
myArr["100"] = 'length变成101, “100”被当作数字处理';
myArr["100 "] = 'length还是101,“100 ”中间有空格,此时只能当作属性被处理';
6. 特殊对象
6.1 string:
string.subString(7,4); //自动取较小的作为start,较大的作为end;
string.length属性;
6.2 Math:
Math.PI
Math.pow(number,power);
6.3 Date:
var today = new Date();
today.getYear();
today.getMonth();
today.getDate();
6.4 Number:
Max_Value:(+/-)1.79E+308
Min_Value:(+/-)1.79E-308
NaN: Not a Number
POSITIVE_INFINITY:1.79E+308
NEGATIVE_INFINITY:-1.79E+308
isNaN:判断是否为NaN值;
var v=value/0;//或Number.NaN,来设置NaN值
7. 自定义对象:
e.g:
function MyObject(i,j)
{
this.p1 = i;
this.p2 = j;//添加属性
this.toString = changeToString;//添加方法
}//任一函数,都可以当作构造函数和类型的定义
function changeToString()
{
return this.p1.toString()+this.p2.toString()+this.p3.toString();
}
var myObj = new MyObject(1,2);
myObj.prototype.p3 = 3; //添加属性
myObj.toString();//返回“123”
8. document.write()/document.writeln();
当document不是正在被打开或解析,调用这些方法将会清空document,然后在write。
9. MessageBox:
window.alert("Message");
var bool = window.confirm("OK to Continue; Cancel to Stop!");
var value = window.prompt("WelCome?","Enter your name here:");
相关文章推荐
- 【学习】原生js学习笔记1:添加class和使input为不可用
- 学习笔记之js 字符串截取与数组截取
- 【js学习笔记-022】-- 对象转换为原始值
- 韩顺平_轻松搞定网页设计(html+css+javascript)_第30讲_类和对象细节_创建对象的几种方式_js对象内存分析_学习笔记_源代码图解_PPT文档整理
- 【js学习笔记-023】-- 变量声明
- JS学习笔记2015-4-18(第五天)
- handlebars.js基础学习笔记
- js数组处理学习笔记一
- [学习笔记01]js基础变量及数据类型
- js Cookie 学习笔记
- Vue.js学习笔记:v-bind属性绑定(class,src)
- JS基础学习笔记
- js基础学习笔记(五)
- ArcGIS JS 学习笔记1 用ArcGIS JS 实现仿百度地图的距离量测和面积量测
- js学习笔记:webpack基础入门(一)
- Underscore.js学习笔记
- JS学习笔记02-初识原型
- CSS与JS学习笔记
- Bootstrap教程JS插件弹出框学习笔记分享
- node.js在windows下的学习笔记(7)---express的app.js的详细配置说明