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,如需转载请自行联系原作者

相关文章
|
4月前
|
JavaScript 前端开发 API
Vue学习笔记3:对比纯JavaScript和Vue实现数据更新的实时视图显示
Vue学习笔记3:对比纯JavaScript和Vue实现数据更新的实时视图显示
|
4月前
|
Web App开发 前端开发 JavaScript
HTML/CSS/JS学习笔记 Day3(HTML--网页标签 下)
HTML/CSS/JS学习笔记 Day3(HTML--网页标签 下)
|
3月前
|
JavaScript 前端开发
【干货分享】JavaScript学习笔记分享
【干货分享】JavaScript学习笔记分享
68 0
|
6月前
|
JavaScript Java 测试技术
基于springboot+vue.js+uniapp的云的学习笔记系统附带文章源码部署视频讲解等
基于springboot+vue.js+uniapp的云的学习笔记系统附带文章源码部署视频讲解等
48 0
|
8月前
|
移动开发 JavaScript 前端开发
webgl学习笔记3_javascript的HTML DOM
webgl学习笔记3_javascript的HTML DOM
79 0
webgl学习笔记3_javascript的HTML DOM
|
8月前
|
JavaScript 前端开发 Java
webgl学习笔记2_javascript基础快速学习
webgl学习笔记2_javascript基础快速学习
60 0
|
8月前
|
前端开发 JavaScript API
JavaScript学习笔记(一)promise与async
JavaScript学习笔记(一)promise与async
|
8月前
|
存储 JavaScript
【ES6系列第二篇】适用JS初学者的Set对象和Map对象学习笔记
【ES6系列第二篇】适用JS初学者的Set对象和Map对象学习笔记
58 0
|
存储 JavaScript 前端开发
【js】函数概述学习笔记(8)
【js】函数概述学习笔记(8)
49 0
|
存储 JavaScript
【js】数组学习笔记(7-2)
【js】数组学习笔记(7-2)
77 0