js基础例子dom+原型+oop基础知识记录01
//oo:概念是计算机中对于现实世界的理解和抽象的方法 //由计算机利用编程技术发展到现在的产物 //面向对象几要素 //对象:由属性和方法组成的集合 //属性:保存数据,存储在对象内存空间中的唯一的地方集合 //方法:在类外,函数叫函数,在类中,函数叫方法,用于完成想要的功能 //成员:属性与方法的统称 //创建方法3种方法 //1:直接量:语法{key:value}; //例1:
var object1={name:'python',age:25, sex:'hello', f1:function () { console.log(this.sex);// hello console.log(this);//这个this指向当前对象object1 } }; //调用 object1.f1(); //实例化创建与调用 var obj1=new Object(); obj1.name1='hello'; obj1.age1=24; obj1.fun1=function () { console.log(this.age1);//24 }; obj1.fun1();// for(var a in obj1){// console.log(a+obj1[a])// } // 如果程序叫创建的对象少时,建议使用var obj={} //通过构造函数创建 function Add(a,b) { this.a=a; this.b=b; this.c=function () { console.log(this.a+this.b) } } var add=new Add(3,4); add.c(); //dom的操作:操作结构化文档的一组api(即xml/html) //核心 dom操作页面中所有结构化文档(增,删,改,查) //核心dom缺点:繁琐但功能全面 //html dom操作页面简化了流程 ,但无法完成功能 //document所有页面中<最大的老大> //分以下几大类(根据级别来分,从小到大) //标签:1> 属性:2>文本:3>document:9; //dom对象类型 //nodeType:对象 //nodeValue:值 //nodeName:名称 //bom包含document //原始类型比较使用2个等号 //引用类型比较使用3个等号 //&非短路逻辑 A&B A为假 ,继续执行B,最终结果为false //a||b a为真 b不会继续执行 //a|b A为真,继续执行B, 结果为true //nodeName //1:元素 标签 ,返回大写 //2:文本 #text //3:document #document //假设判断是否是对应的类型 //if(node.nodeName=='BUTTON') //nodeValue //1:元素 null //2:文本 文本内容 //dom树的关系 //父子关系 /*node parentNode 每个节点最多可能有一个父节点 childNodes 返回子节点集合 firstChild 第一个子节点 lastChild 最后一个子节点 * * 兄弟 * previousSibling 上一个平级兄弟 * nextSibling 下一个平级兄弟 * 注意:parentNode以外,都会受到空格,换行,制表符 * 干扰 * 解决方式:节点树 jq *其他方式的dom树获取 * 父子 * parentElementsNode; * children --ie8 * firstElementChild * lastElementChild * 兄弟 * nextElementSibling 下一个兄弟 * previousElementSibling 上一个兄弟 * 递归调用:对相同数据进行操作时,使用递归函数内调用自身 *对象在内部访问其他方法和属性时,使用this * 对象在外部访问对象方法与属性时,使用对象名 * 原型:父对象 * 父对象中的方法与属性子对象直接使用 * ,每个函数对象有一个prototype属性,指向对象{原型} * 子对象都有一个属性__proto__指向对象{原型} * 优点:节省内存空间 * 一次修改,处处生效,便于维护 * * 原型链 * 一个对象有一个原型对象(也有一个原型对象) * 判断一个对象类型 * typeOf([]);Array * typeOf({});Object * []空数据-->Array--null * {}空对象-->Object--null * 判断父对象是否在子对象原型链 * 父对象.prototype.isPrototypeOf(子对象),如果是返回true,否则是false * 每一个对象都有原型,原型对象有一个属性__proto__ * 重载(js不支持),但可以模拟,通过arguments[index]来进行重载 * oop特点 * 封装:将属性和方法集中定义在一个对象中 * 继承:父对象中的成员,子对象中可以直接使用 * 多态:在不同情况下表现出不同状态 * * dom * html属性查找 * id * document.getELementById('id');//速度快 * 下面3个都返回的是一个数组集合 * 标签 * getElementsByTagName(标签) * 动态集合(代理),并非实际节点 * name * getElementsByName(name) * class * getElementsByClassName(class) * * css选择器查找 * querySelector(css选择器)(查找一个) * querySelectorAll(css选择器)(查找多个) * * 修改元素内容 * 获取设置元素开始和结束间标签所有代码 * innerHTML * 删除 * innerHTML='' * 添加 * innerHTML='value'or'html代码' * textContent * 功能与innerHTML类似 * 它只能获取和修改文本内容 * 低版本ie不支持 * innerText(ie浏览器的) * 与textContext一样 * innerText 火狐支持 textContent ie不支持 * * 获取属性值 * getAttribute(value) * 修改 * setAttribute(value,'新值') * 简单方式 * node.value * node.id * node.attributes[下标/属性名] * 或者 * node.attributes[下标/属性名]=value * hasAttribute(属性),如果属性存在返回true,否则false * 删除属性 * removeAttribute(属性) * 自定义属性 * 例子 * <input type='text' id='d1' data-ac1='value'> * 语法 data-attr=value * 简洁方式 * node.dataset.attr * * js修改css样式 * 内联 * 获取node.style.attr * 修改node.style.attr=value * 清除node.style.attr='' * 清除所有node.style.cssText=''; * 内联样式使用如下方式 * background-color(css里面的) * js中需要使用如下 * backgroundColor * * 获取元素最终样式 * var strle=getComputedStyle(node) * 它是计算后的 * style.attr * ie8 node.currentStyle; * 创建和删除节点 * var node=document.createElement(标签名) * 设置元素属性 * node.id=value * node.innerHTML='' * 新元素追加到现有节点上 * 追加appendChild(node) * 添加insertBefore(node,oldNode) * 替换replaceChilde(node,oldNode) * 追加子元素appendChild(node); * 添加 insertBefore(node,old) * 在新元素添加到旧元素前 * 替换 replaceChild(node,old) * 将新元素替换成旧元素的值 * * 文档片段(提升效率) * var d=document.createDocumentFragment()创建 * 添加 d.appendChild(document.createElement(标签)) * 一次性添加多个 * document.body.appendChild(d) * 删除元素 * removeChild(子元素) * * * * * * * */
var sum=0;
for(var i=0;i<101;i++){ if(i%3!=0){ sum+=i } } console.log(sum); //跳出多重循环 //自定义 标签名,例子// fu: for(var s=0;s<100;s++){// for(var b=0;b<100;b++){// break fu;// }// }
js基础例子dom+原型+oop基础知识记录01的更多相关文章
- 深入浅出DOM基础——《DOM探索之基础详解篇》学习笔记
来源于:https://github.com/jawil/blog/issues/9 之前通过深入学习DOM的相关知识,看了慕课网DOM探索之基础详解篇这个视频(在最近看第三遍的时候,准备记录一点东西 ...
- JS原型函数相关基础知识
函数对象和普通对象 //普通对象 var oo1 = {}, oo2 = new Object(), oo3 = []; console.log(typeof oo1 + ',' + typeof o ...
- JS基础——构造函数VS原型
JS是一种基于对象的语言.在使用过程中不免遇到复制对象的问题.但通常我们採用的直接赋值'obj1=obj2'这样的做法会出现数据覆盖问题. 也就是对象引用过程中引用地址一致.导致对象数据被改动的问题. ...
- 前端总结·基础篇·JS(一)原型、原型链、构造函数和字符串(String)
前端总结系列 前端总结·基础篇·CSS(一)布局 前端总结·基础篇·CSS(二)视觉 前端总结·基础篇·CSS(三)补充 前端总结·基础篇·JS(一)原型.原型链.构造函数和字符串(String) 前 ...
- 面向对象(OOP)--OOP基础与this指向详解
前 言 学过程序语言的都知道,我们的程序语言进化是从“面向机器”.到“面向过程”.再到“面向对象”一步步的发展而来.类似于汇编语言这样的面向机器的语言,随着时代的发展已经逐 ...
- 前端基础之DOM和BOM
前端基础之DOM和BOM JavaScript分为 ECMAScript,DOM,BOM. BOM(Browser Object Model)是指浏览器对象模型,它使 JavaScript 有能力与浏 ...
- redis+thinkphp5的注册、登陆、关注基础例子
最近初步接触redis,结合thinkphp5与redis,写了一个用户注册的基础例子,用于学习. 这个例子是结合了兄弟连的redis视频,最后两节的内容写的:https://study.163.co ...
- Ext OOP基础
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- Dom探索之基础详解
认识DOM DOM级别 注::DOM 0级标准实际并不存在,只是历史坐标系的一个参照点而已,具体的说,它指IE4.0和Netscape Navigator4.0最初支持的DHTML. 节点类型 注:1 ...
随机推荐
- SD卡中FAT32文件格式高速入门(图文具体介绍)
说明: MBR :Master Boot Record ( 主引导记录) DBR :DOS Boot Record ( 引导扇区) FAT :File Allocation Table ( 文件分配表 ...
- 自定义控件(视图)2期笔记01:自定义控件之自定义View的步骤
1. 根据Android Developers官网的介绍,自定义控件你需要以下的步骤: (1)创建View (2)处理View的布局 (3)绘制View (4)与用户进行交互 (5)优化已定义的Vie ...
- 网页、JavaScript 的DOM操作
HTML DOM (文档对象模型) 当网页被加载时,浏览器会创建页面的文档对象模型(Document Object Model). HTML DOM 模型被构造为对象的树. Windows 对象操作 ...
- XAML 名称范围 (x:) 语言特性
本节介绍为 Windows 运行时实现的 XAML 语言特性的参考信息. 本部分内容 主题 描述 x:Class 属性 配置 XAML 编译,在标记和代码隐藏之间连接分部类.代码分部类在一个独立的代码 ...
- Android之来历
Android一词的本义指“机器人”,同时也是谷歌于2007年11月5日宣布的基于Linux平台的开源手机操作系统的名称,该平台由操作系统.中间件.用户界面和应用 软件组成,号称是首个为移动终端打造的 ...
- zookeeper端口号冲突:8080冲突
端口号冲突,在conf/zoo2181.cfg文件里面添加一个端口号的指定(具体的端口号可以自己定义一个): admin.serverPort=8081
- 深入理解REST与Servlet架构的区别
本身这个比较是个伪命题,因为 RESTful Service是一个软件架构“风格”, 而servlet是java 服务端的一种技术 之所以把它们拿出来比较,是由于它们代表了两个时代的技术风格与架构.下 ...
- POJ 1151 - Atlantis 线段树+扫描线..
离散化: 将所有的x轴坐标存在一个数组里..排序.当进入一条线段时..通过二分的方式确定其左右点对应的离散值... 扫描线..可以看成一根平行于x轴的直线..至y=0开始往上扫..直到扫出最后一条平行 ...
- JS原型的剖析与理解
原型相关的概念 关于面向对象的概念 类 class 在js中就是构造函数 在传统的面向对象语言中,使用一个叫类的东西定义模版,然后使用模版创建对象 在构造方法中也具有类似的功能,因此称其为类 实例与对 ...
- action找不到
错误: {"name":"Not Found","message":"Unable to resolve the request: ...