盘点JavaScript中那些进阶操作知识(上篇)
前言
相信做网站对JavaScript再熟悉不过了,它是一门脚本语言,不同于Python的是,它是一门浏览器脚本语言,而Python则是服务器脚本语言,我们不光要会Python,还要会JavaScript,因为它对做网页方面是有很大作用的。
1.进阶操作
这里列举了一些小编以前经常用到的一些例子以及一些经验,由于篇幅受限,这里我将会把部分执行结果的输出直接输入到代码下面。 1).浏览器输入prompt("请输入") 返回一个字符串变量2).浏览器输出document.write("我被输出了") 返回一个字符串3).浏览器弹框alert("我是弹框") 返回一个字符串4).浏览器交互confirm("是否进入"); 返回一个比尔类型的值5).控制台打印结果console.log("显示在控制台的结果")6).类型检查typeof ss ss instanceof string7).转换为字符串var ff=123 ff.toString()8).转换为数字parseInt(‘231fasd’) -->231 isNumeric 用来判断是否是数字 parseInt("df",num) --> num介于2~36之间,若省略则为10,若‘0x’开头,则为16,若小于2或大于36则为NAN parseFloat("10") -->无法转换为数字将返回NaN,可通过isNan来判断是否为NaN9).转换为原始对象var ff=123 ff.ValueOf()10).编解码函数1))字符串编解码escape(string) # 编码 unescape(string) #解码2))URL编解码encodeURI(URIstring) #编码 decodeURI(URIstring) #解码 encodeURIComponent(URIstring) #把字符串编码为 URI 组件 decodeURIComponent(URIstring) #解码一个编码的 URI 组件11).Eval
可把里面的字符串当做Js代码来执行,犹如Python中的Eval。 eval("alert("fasd")")12).Call
能够使用属于另一个对象的方法,可传多个参数,是经典的对象冒充方法。 function ss(a,b) { alert(a + this.val + b); }; var o= new Object(); o.val = "123"; ss.call(o, "I am", "years old."); output: I am 123 years old13).Apply
与Call差不多,前面是对象但是它后面的参数是一个数组。 function ss(a,b) { alert(a + this.val + b); }; var o= new Object(); o.val = "123"; ss.apply(o, new Array("I am", "years old"));14).Caller
返回一个对函数的引用,该函数调用了当前函数,caller 属性只有在函数执行时才有定义。 function aa() { if (aa.caller) { console.log(aa.caller); } else { console.log("111"); } } aa() output: 11115).Callee
返回正被执行的 Function 对象,表示对函数对象本身的引用,一般用在递归。 function ff(x){ if(x==1) { return 1; } else{ return x+arguments.callee(x-1) } } ff(3); output:6
总结
这篇文章主要介绍了JavaScript的进阶操作知识。下一篇文章,我们继续介绍JavaScript,敬请期待!