1、Window对象的location属性引用的是Location对象,它表示该窗口中当前显示的文档的URL,并定义了方法来使窗口载入新的文档。Location对象的href属性是一个字符串,后者包含URL的完整版本。Location对象的assign()方法可以使窗口载入并显示指定的URL文档,相似的replace()方法在载入新文档之前会从浏览历史中把当前文档删除。2、Window对象的history属性引用的是该窗口的History对象。History对象是用来把窗口的浏览历史用文档和文...
偶然间遇到,需要在JS中解决类似于C#中的线程休眠问题,JS有Promise对象,可以帮助我们实现这一点,网上有很多类似文章,我这里列举一个使用示例: 定义休眠方法--使用Promise创建一个异步可等待的方法://设置JS休眠一定时间后执行的动作var sleep = function (millisecond) {returnnew Promise(resolve => {setTimeout(() => {resolve()}, millisecond)})}; 使用休眠方法--使用async和await,实现休眠等待效果://测试方法var te...
由于 JavaScript中没有类,对象充当着一系列集合的模板,包含着属性和方法,而每个对象中也有一个原型对象,可以存放共享方法和属性 。创建自定义类型的最常见方式,就是组合使用构造函数模式与原型模式。构造函数模式用于定义实例属性,而原型模式用于定义方法和共享的属性 //组合使用构造函数模式(构造函数设置自己的属性)和原型模式(原型设计那些共享的方法和属性)function Person(name,age,job){this.name=name;this.age=a...
谈到面向对象,我们之前学过Vb和C#,从抽象到封装再到继承和多态,面向对象的世界真的很好玩,但是JavaScript中的面向对象有些特殊,因为里面没有类,而且对象的创建方式也不同。 对象的创建大约有四种方式:使用new关键字创建、使用字面量创建、使用工厂方法创建、使用构造函数创建。 1、使用new关键字var box = new Object(); //创建一个 Object 对象 box.name = 'Lee'; //创建一个 name 属性并赋值 box.age = 100; //...
因为前几天做了一个promise对象捕获错误的面试题目,所以这几天又重温了一下promise对象。现在借这道题来分享下一些很基础的知识点。下面是一个面试题目,三个promise对象捕获错误的例子,返回结果有什么不同。 //使用throw添加错误事件var p = new Promise(function(resolve, reject) {resolve("ok");thrownew Error(‘error0‘);//setTimeout(function() { throw new Error(‘error1‘) }, 0);}); p.then(function(value){consol...
上一讲我们提出一个很好的思路,将一个类的可复用部分全部定义在prototype中,这样子类继承的时候可以很方便地通过prototype来继承;但是也带来一个问题就是子类在重写prototype中的属性时会改变所有实例的属性,这是因为父类和子类实例都共享同一个prototype;怎么解决呢?思路就是利用一个中间函数,具体请看代码:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-tra...
2. 完善地图 我们的地图中有空地,墙,钢,草丛,水,总部等障碍物。 我们可以把这些全部设计为对象。2.1 创建障碍物对象群 对象群保存各种地图上的对象,我们通过对象的属性来判断对象是否可以被穿过或被攻击。 Barrier.js: 1// 障碍物基类对象,继承自TankObject 2 Barrier = function () {3this.DefenVal = 1; // 防御力 4this.CanBeAttacked = true; // 是否可以被攻击 5}6 Barrier.prototype = new TankObject(...
JS中事件对象有很多种,兼容性参差不齐,这个对象封装了大部分所需的各种方法var EventUtil={addHandler:function(element,type,handler){ //添加事件if(element.addEventListener){ element.addEventListener(type,handler,false); //使用DOM2级方法添加事件}elseif(element.attachEvent){ //使用IE方法添加事件element.attachEvent("on"+type,handler);}else{element["on"+type]=handler; //使用DO...
使用JSON 来定义一个对象: <script type="text/javascript">var xiaoming = { name : ‘xiaoming‘, age : 18, say : function(){ console.log(‘my name is ‘+this.name); }}xiaoming.say();xiaoming.name = ‘li xiao ming‘;xiaoming.say();</script> 原文:http://www.cnblogs.com/likewpp/p/6935684.html
JS 函数JS 函数是被设计为执行特定任务的代码块JS 函数会在某代码调用它时被执行JS 函数语法JS 函数通过 function 关键词进行定义,其后是函数名和括号()函数名可包含字母、数字、下划线、美元符号(规则与变量名相同)括号内是参数列表,多个参数之间使用逗号分隔:(参数1,参数2,参数3...)由函数执行的代码被放置在花括号中:{...}function functionName(var1,var2,var3,...){//执行代码//return ... } JS 函数调用当事件发生时...
创建对象的三种方式第一种:字面量创建对象代码:var obj={ name:‘张三‘, age:18, sex:‘男‘ } console.log(obj.name);//张三 第二种:利用构造函数创建对象//构造函数 function Hero(name, type, blood) {this.name = name;this.type = type;this.blood = blood;this.attack = function (way) {console.log(way);}}//创建对象var lp = new Hero(‘廉颇‘, ‘力量型‘, ‘500血型‘);lp.attack(‘近战‘);console.log(lp); 第三...
判断对象中是否有某属性的常见方式总结,不同的场景要使用不同的方式。一、点( . )或者方括号( [ ] ) 通过点或者方括号可以获取对象的属性值,如果对象上不存在该属性,则会返回undefined。当然,这里的“不存在”指的是对象自身和原型链上都不存在,如果原型链有该属性,则会返回原型链上的属性值。// 创建对象 let test = {name : ‘lei‘} // 获取对象的自身的属性 test.name //"lei" test["name"] //"le...
DOM简介 HTML DOM:当网页被加载时,浏览器会创建页面的文档对象模型 JavaScript能够改变页面中的所有HTML元素 JavaScript能够改变页面中的所有HTML属性 JavaScript能够改变页面中的所有CSS样式 JavaScript能够改变页面中的所有事件作出反应 DOM操作HTML 改变HTML输出流 注意:绝对不要在文档加载完成之后使用document.write()。这会覆盖该文档 寻找元素 通过id找到HTML元素 通过标签名找...
html对象areaaudiobaseblockquotebodybuttoncanvascolcolgroupdatalistdeldetailsdialogembedfieldsetformiframeframesetimginsinput -button -checkbox -color -date -datetime -datetime-local -email input -month -number -range -password -radio -reset -search -submit input -text -time -url -weekkeygenlinklabellegendlimapmenumenuitemmetameterobjectoloptgroupoptionparamqprogressscriptselectsourcestyletabletdth...
/* //工厂模式 function createObject(name,age){var obj = new Object();//新建一个对象obj.name=name;//新建对象的属性obj.age=age;obj.run=function(){//新建对象的方法return this.name+","+this.age+"...running.";}return obj;//返回新建的对象引用 }var box1 = createObject("Carl",20); var box2 = createObject("Zhang",25); alert(box1.run()); alert(box2.run());//构造函数 function Box(name,age){this.name=name;//新...