欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

JS零碎知识点总结(1)

程序员文章站 2022-05-10 11:52:23
...

1、传递参数

function setName(obj){
    obj.name = "good";
    obj = new Object();
    obj.name = "ok";
}

var person = new Object();
setName(person);
console.log(person.name); // good

当在函数内部重写obj时,这个变量引用的就是一个局部对象了,而这个局部对象会再函数执行完成后立即被销毁。

2、检测类型

a、typeof

var a = "good";
var b = true;
var c = 22;
var d;
var e = null;
var h = new Object;

console.log(a);    //string
console.log(b);   //boolean
console.log(c);   //number
console.log(d);   //undefined
console.log(e);   //object
console.log(h);   //object

1、typeof是检测变量是什么基本类型的;
2、例如上例中的e、h,如果一个变量的值是null或者是一个对象,则typeof都会返回object。

b、instanceof

//语法
result = variable instanceof constructor
//例子
console.log(person instanceof Object); // person 是不是 object类型
console.log(colors instanceof Array); // person 是不是 object类型

1、instanceof是检测这个变量是对象后,具体的是什么类型的对象;
2、使用instanceof 检测基本类型值的结果始终是false,因为基本类型不是对象。

3、延长作用域链

当函数执行到下列函数时,作用域链会延长

a、try-catch语句的catch块;

b、with语句。

function  setUrl () {
    var qs = "?id=ding";
    with (location) {
        var url = href + qs;
    }
    return url;
}

4、垃圾收集

定义:找出那些不再继续使用的变量,然后释放其占用的内存。
方法:

a、标记清除法

会为每一个存储在内存中的变量都加上标记,会去掉被使用的变量以及被别的变量引用的变量的标记,如果一个变量再次被加上标记,则被视为准备删除的变量,因为这个变量已经不被使用了,之后就会进行清除了。

b、引用计数法

有很多的弊端与bug,已经被废除,停止使用。

5、Object类型

创建Object实例有两种方式。

a、使用new操作符后跟Object构造函数

var person  = new Object();
person.name = "ding";
person.age = 20;

b、使用对象字面量

var person = {
    name = "ding",
    age = 20
}
// 最后一个属性后面不要加逗号(,),IE7以下会报错。  

获取对象里的属性方式:a、点(.)符号,b、中括号([])
区别:1、方括号可以通过变量来访问属性

var pName = "name";
alert(person[pName ]); // ding

通常,除非必须使用变量访问属性,其他都是使用点(.)。

6、Array类型

数组最多可以创建4 294 967 295项。

基本操作

a、创建、获取、新增、修改

var number = [one,two,three,four];//创建
alert(number[0]); // one,获取
number[2] = "c"; //修改第三项
number[4] = "five"; // 新增第5项
number[length] = "six"; //总是尾部新增
number[length] = "seven"; // 总是尾部新增
numner =  [one,two,c,four,five,six,seven];

b、创建

var array = [1,2,];
// IE8会创建3个值:1,2,undefined;
// 其他浏览器创建2个值:1,2;

函数操作

7、Date类型

8、RegExp类型