JS学习笔记

简介:


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:");


本文转自Silent Void博客园博客,原文链接:http://www.cnblogs.com/happyhippy/archive/2007/07/24/829007.html,如需转载请自行联系原作者

相关文章
|
2月前
|
前端开发 JavaScript API
JavaScript学习笔记(一)promise与async
JavaScript学习笔记(一)promise与async
|
3月前
|
存储 JavaScript
【ES6系列第二篇】适用JS初学者的Set对象和Map对象学习笔记
【ES6系列第二篇】适用JS初学者的Set对象和Map对象学习笔记
24 0
|
5月前
|
前端开发 JavaScript Python
javascript入门学习笔记打卡(2)
javascript入门学习笔记打卡(2)
22 0
|
7月前
|
JavaScript
JS 学习笔记一 (基础)
JS 学习笔记一 (基础)
39 0
|
7月前
|
JavaScript 前端开发
JS 学习笔记四(DOM) 悬停事件 获取节点
JS 学习笔记四(DOM) 悬停事件 获取节点
34 0
|
7月前
|
JavaScript
JS 学习笔记四(DOM)(节点)
JS 学习笔记四(DOM)(节点)
27 0
|
7月前
|
JavaScript 前端开发 Java
js学习笔记
js学习笔记
36 0
|
8月前
|
前端开发
前端学习笔记202305学习笔记第三十三天-js-使用const声明变量特点
前端学习笔记202305学习笔记第三十三天-js-使用const声明变量特点2
43 0
|
8月前
|
前端开发
前端学习笔记202305学习笔记第三十四天-js-引出闭包3
前端学习笔记202305学习笔记第三十四天-js-引出闭包3
58 0
|
8月前
|
前端开发
前端学习笔记202305学习笔记第三十四天-js-this绑定的优先级2
前端学习笔记202305学习笔记第三十四天-js-this绑定的优先级2
32 0