JavaScript
码农1425
码农一枚
展开
-
javascriptDom(五)
正课: 1. DOM常用对象: history location navigator*****event1. history: 什么是: 保存当前窗口打开后,成功访问过的url的历史记录栈。 特点: 内容不对开发人员开放,更无法修改 如何使用: 前进,后退,刷新 前进: history.go(1) 后退: history.go(-1)原创 2016-11-01 19:09:53 · 205 阅读 · 0 评论 -
javascript面向对象(六)
标题 "use strict"; var emp={ id:1001, name:"eric", salary:10000 } //设置id属性为只读 Object.defineProperty(emp,"id",{ writable:false,原创 2016-10-30 13:12:24 · 135 阅读 · 0 评论 -
javascript面向对象(五)
标题 function Flyer(name,speed){ this.name=name; this.speed=speed; } Flyer.prototype.fly=function(){ console.log( this.name+"以时速"+原创 2016-10-30 13:11:27 · 156 阅读 · 0 评论 -
javascript面向对象(四)
标题 //inherits继承 //extends扩展 var father={ bal:100000000, car:"infiniti", intrSelf:function(){ console.log( "I'm "+this.name+原创 2016-10-30 13:10:48 · 352 阅读 · 0 评论 -
javascript面向对象(三)
标题 //判断一个对象是否是数组类型 //有几种办法: var obj1=[]; var obj2={}; var obj3={}; obj3.__proto__=[]; //typeof(x) 只能区分原始类型,对象和函数——无法区分数组和普通对象 //console.lo原创 2016-10-30 12:37:53 · 137 阅读 · 0 评论 -
javascript面向对象(二)
标题 //如果数组类型的原型对象没有indexOfif(Array.prototype.indexOf===undefined){ //为数组类型的原型对象添加indexOf方法,两个参数:val,fromi Array.prototype.indexOf= function(val,fromi){ //this->当前数组对象 //如原创 2016-10-30 12:37:07 · 121 阅读 · 0 评论 -
javascript面向对象(一)
自我介绍 function Student(name,age){ this.name=name; this.age=age; } //向Student的原型对象中添加intrSelf方法 Student.prototype.intrSelf= fu原创 2016-10-30 12:36:18 · 236 阅读 · 0 评论 -
javascript闭包
标题 function factory(){ var n=1; return function(){ console.log(n++); } } var icbc=factory(); //icbc:function(){ n=1 //cons原创 2016-10-30 12:35:01 · 147 阅读 · 0 评论 -
javascript笔记(八)
回顾:1. 闭包: 什么是: 重用并保护一个局部变量的机制 因为,外层函数的作用域无法释放 为什么: 全局变量 局部变量 何时: 希望重用一个变量,又不希望被篡改时 如何使用: 3步: 1. 用外层函数包裹受保护的变量和操作变量的函数 2. 外层函数将内层函数对象返回 3. 使用者,调用外层函数获得返原创 2016-10-30 11:41:44 · 128 阅读 · 0 评论 -
javascript函数作用域
标题 /* //Step1: 用外层函数封装受保护的局部变量和操作变量的内层函数 function outer(){ var n=1;//受保护的变量 //Step2:外层函数将内层函数对象返回 return function(){ console.log(n++); }原创 2016-10-30 11:16:02 · 167 阅读 · 0 评论 -
javascript匿名函数
标题 var r=/*(*/function(a,b){ return a+b; }/*)(1,2)*/; console.log(r); //输出开始加载... (function(){ var time= new Date().toLo原创 2016-10-30 11:15:18 · 206 阅读 · 0 评论 -
javascript函数重载(二)
标题 /* function fib(n){ if(n<3){return 1} else{ return arguments.callee(n-1) +arguments.callee(n-2); } } var f=fib;原创 2016-10-30 11:14:46 · 132 阅读 · 0 评论 -
javascript函数重载
标题 function checkout( ){ //arguments:[ ] //如果没有传入参数 if(arguments.length==0){ console.log("微信结账"); }else if(arguments.length原创 2016-10-30 11:13:50 · 174 阅读 · 0 评论 -
javascript函数定义
标题 var arr=[12,3,123,23,2,1]; //function cmp(a,b){return a-b;} //var cmp= //function (a,b){return a-b;} var cmp= new Function( "a","b","retu原创 2016-10-30 11:13:11 · 191 阅读 · 0 评论 -
javascript面向对象(七)
标题 "use strict"; var emp={ id:1001, name:"eric", salary:10000 }; //id属性设置为只读 //salary属性设置为禁止遍历 //添加age属性,值为25,可读写,可遍历,可配置 Ob原创 2016-10-30 13:13:13 · 153 阅读 · 0 评论 -
javascript面向对象(八)
标题 var emp={ id:1001, name:"eric" }; //定义访问器属性age (function(_age){ Object.defineProperty(emp,"age",{ get:function(){//取值时自动调用 re原创 2016-10-30 13:14:13 · 139 阅读 · 0 评论 -
javascriptDom笔记(三)
DOM: 先找,再操作,没有才添加1. 查找: 1. 基于当前节点找周围节点: 节点树: parentNode childNodes firstChild lastChild nextSibling previousSibling 元素树: parentElement children firstElementChild原创 2016-11-01 17:08:37 · 383 阅读 · 0 评论 -
javascriptDom笔记(二)
正课:1. ***修改: 内容: 属性: 样式:1. 修改内容: 1. 获取或修改元素开始标签和结束标签之间的html内容: elem.innerHTML 2. 获取或修改元素开始标签和结束标签之间的纯文本内容(去掉标签,将特殊符号转为正文): textContent 专门用途: 去掉内容中的标签,仅保留文字 IE8: innerText2.原创 2016-11-01 17:06:47 · 201 阅读 · 0 评论 -
javascriptDom笔记(四)
回顾:1. 添加和删除: 添加一个元素:3步: var elem=document.createElement("标签名"); elem.xxx=值; parent.appendChild(elem); .insertBefore(elem,oldElem); .replaceChild(elem,oldElem);原创 2016-11-01 17:05:33 · 248 阅读 · 0 评论 -
javascriptDOM笔记(一)
正课:1. 什么是DOM:2. ***DOM Tree:3. 查找:1. 什么是DOM: js:ES(核心语法 9)+ DOM(专门操作网页内容的API 3)+ BOM(专门操作浏览器窗口的API 2) 鄙视题: HTML XHTML DHTML XML HTML: 专门编写网页内容的语言 XHTML: 更严格的XHT原创 2016-10-31 13:15:27 · 305 阅读 · 0 评论 -
javascript面向对象(十五)
标题 if(Function.prototype.bind===undefined){ Function.prototype.bind= function(obj/*,args1*/){ var fun=this;//原函数对象 //arguments:[obj,xx,xx,xx,] var args1= Arra原创 2016-10-30 13:23:30 · 203 阅读 · 0 评论 -
javascript面向对象(十四)
标题 var arr=[1,2,3,4,5]; var evens=arr.filter(function(val){ return val%2==0; }); var odds=arr.filter(function(val){ return val%2==1; }); /原创 2016-10-30 13:22:47 · 188 阅读 · 0 评论 -
javascript面像对象(十三)
标题 //如果?没有map方法 if(Array.prototype.map===undefined){ //在?添加map方法:1个参数fun Array.prototype.map=function(fun){ var arr=[];//创建空数组arr //遍历原数组中每个元素原创 2016-10-30 13:21:59 · 178 阅读 · 0 评论 -
javascript笔记(十)
1.*****ES5:对象的属性: 命名属性: 数据属性: 四大特性: value: writable: enumerable: configurable: 访问器属性: 何时使用: 只要用自定义规则保护属性,都要用访问器属性. 如何原创 2016-10-30 13:20:53 · 177 阅读 · 0 评论 -
javascript笔记(九)
回顾:面向对象: 三大特点: 封装,继承,多态封装: 创建一个对象,集中保存现实中一个事物的属性和功能 3种: 1. 对象直接量: 何时使用: 只创建一个单独的对象 已经知道所有属性和功能 2. 用new关键词: 何时使用: 只创建一个单独的对象 在创建时,暂时不知道对象的属性和功能。 3. 构造原创 2016-10-30 13:17:48 · 166 阅读 · 0 评论 -
javascript面向对象(十二)
标题 //如果?没有map方法 //在?添加map方法:1个参数fun //创建空数组arr //遍历原数组中每个元素 //调用fun函数,传入当前元素值,i,原数组三个参数,将返回值保存到arr中i位置 //(遍历结束) //返回arr原创 2016-10-30 13:17:03 · 151 阅读 · 0 评论 -
javascript面向对象(十一)
标题 var arr1=[1,2,3,2,1]; var arr2=[8,6,4,2,0]; var arr3=[1,3,5,7,9]; //判断是否都由偶数组成: var r1=arr1.some(function(val){ return val%2==0; }) var r原创 2016-10-30 13:16:24 · 162 阅读 · 0 评论 -
javascript面向对象(十)
标题 var father={ bal:100000000, car:"infiniti" };Object.create=function(father,props){ console.log("自定义create"); //创建空对象,保存在child中 var child={}; //让child继原创 2016-10-30 13:15:40 · 233 阅读 · 0 评论 -
javascript面向对象(九)
标题 "use strict";function Emp(id,name,age){ this.id=id; this.name=name;//public Object.defineProperty(this,"id",{ writable:false, configurable:false }); var _age; //p原创 2016-10-30 13:14:57 · 165 阅读 · 0 评论 -
javascript异常处理
标题 /**/ //函数定义者 function round(num,d){ /* try{ return parseFloat( parseFloat(num).toFixed(d)); }catch(err){//err: Error对象 alert("出错了,请联系管理员"); conso原创 2016-10-30 11:08:50 · 222 阅读 · 0 评论 -
javascript笔记(七)
1. ***错误处理 错误(bug): 程序执行过程中,导致程序异常中断的问题。 Error: 在错误发生时,保存错误信息的对象 6种: SyntaxError: 语法错误 ReferenceError: 引用错误,没找到xxx TypeError: 类型错误,错误的使用了对象的方法。 RangeError: 范围错误,特指参数超范围原创 2016-10-30 10:26:19 · 134 阅读 · 0 评论 -
javascript数组之自定义比较器
标题 function sort(arr,cmp){ //如果cmp是undefined if(cmp===undefined){//就用: //原装比较器:转字符串再比较 cmp=function(a,b){ return String(a)>String(b)?1: String(a)<String(b)?-原创 2016-10-29 16:32:24 · 521 阅读 · 0 评论 -
javascript笔记(四)
1. ***数组排序: 1. 冒泡排序: 2. arr.sort(): 默认: 将数组中每个元素,都转为字符串,再升序排列。 何时: 仅限于排序字符串元素时 解决: 今后,只要不是按字符串排列,都要自定义比较器,传如sort方法。 1. 自定义比较器函数 比较器函数: 专门比较任意两数大小的函数:原创 2016-10-29 16:18:06 · 153 阅读 · 0 评论 -
javascript之数组api
标题 var arr=[1,2,3,4,5]; console.log(String(arr)); var chars=["H","e","l","l","o"]; console.log(chars.join(""));//用""连接字符串 var emps=["eric","rose","smith"]; var arr=[1,2,3,4,5]原创 2016-10-29 16:09:31 · 183 阅读 · 0 评论 -
javascript之hash数组
标题 var fbb=[]; fbb["name"]="范冰冰";//"杨幂" fbb["math"]=89;//81 fbb["chs"]=65;//53 fbb["eng"]=91;//89 console.dir(fbb); for(var key in fbb){ console.log(key+":"+fbb[key]);原创 2016-10-29 15:51:35 · 4104 阅读 · 0 评论 -
javascript之数组
标题 var arr=[ "scott",//0 "rose",//1 "jack",//2 "eric",//3 "smith"//4 length-1 //"jerry"5 length //6 //7 //"lucy" 8 //length 9 ]; console.log原创 2016-10-29 15:47:43 · 145 阅读 · 0 评论 -
javascript笔记(三)
1.***循环: 什么是:让程序反复执行同一代码段 如何使用: 三要素: 1.循环条件: 让循环可以继续反复执行的条件。 2.循环变量: 在循环条件中,用作比较的变量。 循环变量总是向着不满足循环条件的趋势变化。 3.循环体: 循环反复执行的代码段。 三种: 1.当循环变量的变化没有规律时 var 循环变量=值;原创 2016-10-29 15:32:09 · 225 阅读 · 0 评论 -
javascript之for循环(二)
标题 /* var r=3; //打印乘法口诀表第r行 //循环条件:乘数<=r //循环变量: 乘数i //i从1开始,每次递增1 //循环体: //在str中拼接:"ixr=(i*r)_" //打印任意一行的公式: for(var i=1,str="";i<=r;i++){ str+=i+"x"+r+"="+i*r+原创 2016-10-29 15:30:09 · 282 阅读 · 0 评论 -
javascript之while循环
1原创 2016-10-29 15:26:37 · 299 阅读 · 0 评论 -
javascript之switch语句
test页面 function isLeap(y){ console.log( y%4==0&&y%100!=0||y%400==0?"闰年":"平年" ); } isLeap(1998); isLeap(2004); function clt(h,w){ var r=w/(h*h); console.log(r>25?"胖":r<20?原创 2016-10-29 15:18:20 · 281 阅读 · 0 评论