JavaScript基础篇(3)之Object、Function等引用类型(5)

虽然"哪个对象点出来的方法,this就是哪个对象",但是有时候我们不想要这样的结果,我们不想用对象点或者对象点出了想this是另外的对象。那么我们可以使用call:

传如的第一个参数,直接赋值给函数里面的this。和call类似的有apply,区别看下面:

var o = { color: "blue" }; var o2 = { color: "red" }; function sayColor(a, b) { alert(this.color + a + b); } sayColor.apply(o, [1, 2]);//只传两个参数,第一个是为this赋值的对象,第二个是函数实参数组 sayColor.call(o2, 1, 2);//可以传多个参数,第一个是为this赋值的对象,后面的是函数实参用逗号分割

基本包装类型

在这个系列的第一篇中有个问题:

四、

var obj1 = {}; obj1.name2 = "张三"; var str1 = "test"; str1.name2 = "李四"; alert(obj1.name2 + " " + str1.name2);

为什么会是这样的结果?因为str1.name2设置值的时候访问的是string的包装类,然后再次访问str1.name2之前就把之前那个包装类已经被销毁。

为什么要有包装类?

因为可以像操作引用对象一样操作基本数据类型,如: var s1 = "some text"; var s2 = s1.substring(2);

哪些基本类型有包装类?

Boolean、Number和String类型。

浏览器的内置对象

Global(其实也就是我们平时用的window)和Math(一些计算功能)

URI 编码方法

encodeURI、encodeURIComponent、decodeURI、decodeURIComponent //encodeURI主要对完整的url进行编码(空格会编码成%20)【对应该的解码decodeURI】 alert(window.encodeURI("http://i.cnblogs.com/EditPosts.aspx?postid = 5002381")); //encodeURIComponent会把url中的所有特殊字符进行转码(所以,我们一般用来进行部分url转码,如Url中的参数)【对应的解码decodeURIComponent】 alert(window.encodeURIComponent("http://i.cnblogs.com/EditPosts.aspx?postid = 5002381")); eval

这是一个js中最最最强大的函数了,相对与一个独立的解析器。如我文中的操作实例就是用这个函数实现的。

如:

<textarea> //。。。。这里面写js代码 var obj = {}; obj.name = "张三"; var str = "test"; str.name = "李四"; alert(obj.name + " " + str.name); </textarea> <input type="button" value="运行" />

效果图:

JavaScript基础篇(3)之Object、Function等引用类型

当然,你还的引入jqeruy问题,博客园中默认就已经引入了。所以,你不需要再次引入,你测试的话是看不到alert弹框的,因为博客园禁掉了。我的是用的jquery ui中的Dialog对话框做的。

您可能感兴趣的文章:

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wgzgdd.html