在这里也简单的记录下关于内置对象window,其实所有的全局变量都是window的属性,所有的全局函数都是window的方法。举个例子证明一下。
var o = '哈哈';
console.log(o);
function print_o (){
console.log('Objk');
}
window.print_o();
执行上面的语句最后得到的结果是正常输出哈哈,和objk,其实这个o就是window的属性,以及print_o这个函数其实就是window的函数。
还有就是我们如果再上面的print_o方法中打印this,打印出来的是window也很好的证明了这一点,因为这个函数是全局函数,属于window。
而当我们定义的全局函数变成了构造函数那么打印出来的this就是所创建的那个对象了。
这里其实还要介绍下window的动态跳转,这个在ios中的话我们完全可以在我们的业务逻辑达到某个条件的时候,然后用它进行跳转页面。就比如说在webView里面可以拦截到url,这样我们可以通过判断这个url,然后去做相应的处理
//当前页面打开URL页面
windows.location.href=url
还有一个内置对象Document,首先简单的解释下它的概念其实每个载入浏览器的 HTML 文档都会成为 Document 对象。它可以动态的获取网页中的所有的标签,可以对获取到的标签进行增删改查。比如说我们执行了下面两段代码,用它可以做动态的更新。
document.write('hello world');
document.write('<input type="file"/>');
再简单的介绍下js和html的交互应用例子,就比如说我们要监听按钮的点击要做什么事情的话,我们js的代码可以这么写
function click1 (){
alert(0);
}
然后HTML的标签,这样我们就能去监听按钮的点击了
<button οnclick="click1();">点击</button>
这里再简单的介绍下Document中如何去获取标签的几个方法
1、getElementById() 根据id去获取标签,因为id选择器只能给一个标签使用,所以这里只返回一个标签
2、getElementsByName() 根据名称去获取标签,返回带有指定名称的对象的集合,这个方法查询的是元素的 name 属性,就比如说input标签里面,name 属性规定 input 元素的名称。
<input name="Input1" type="text"/>
3、getElementsByTagName()就是返回带有指定标签名的对象的集合。
4、getElementsByTagNameNS()返回带有指定名称和命名空间的标签集合,用法getElementsByTagNameNS(namespace,name),前面一个参数是命名空间的名称,后面一个就是需要搜索的标签名,只有使用命名空间的XML文档才会使用它。