//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的更多相关文章

  1. 深入浅出DOM基础——《DOM探索之基础详解篇》学习笔记

    来源于:https://github.com/jawil/blog/issues/9 之前通过深入学习DOM的相关知识,看了慕课网DOM探索之基础详解篇这个视频(在最近看第三遍的时候,准备记录一点东西 ...

  2. JS原型函数相关基础知识

    函数对象和普通对象 //普通对象 var oo1 = {}, oo2 = new Object(), oo3 = []; console.log(typeof oo1 + ',' + typeof o ...

  3. JS基础——构造函数VS原型

    JS是一种基于对象的语言.在使用过程中不免遇到复制对象的问题.但通常我们採用的直接赋值'obj1=obj2'这样的做法会出现数据覆盖问题. 也就是对象引用过程中引用地址一致.导致对象数据被改动的问题. ...

  4. 前端总结·基础篇·JS(一)原型、原型链、构造函数和字符串(String)

    前端总结系列 前端总结·基础篇·CSS(一)布局 前端总结·基础篇·CSS(二)视觉 前端总结·基础篇·CSS(三)补充 前端总结·基础篇·JS(一)原型.原型链.构造函数和字符串(String) 前 ...

  5. 面向对象(OOP)--OOP基础与this指向详解

      前  言            学过程序语言的都知道,我们的程序语言进化是从“面向机器”.到“面向过程”.再到“面向对象”一步步的发展而来.类似于汇编语言这样的面向机器的语言,随着时代的发展已经逐 ...

  6. 前端基础之DOM和BOM

    前端基础之DOM和BOM JavaScript分为 ECMAScript,DOM,BOM. BOM(Browser Object Model)是指浏览器对象模型,它使 JavaScript 有能力与浏 ...

  7. redis+thinkphp5的注册、登陆、关注基础例子

    最近初步接触redis,结合thinkphp5与redis,写了一个用户注册的基础例子,用于学习. 这个例子是结合了兄弟连的redis视频,最后两节的内容写的:https://study.163.co ...

  8. Ext OOP基础

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  9. Dom探索之基础详解

    认识DOM DOM级别 注::DOM 0级标准实际并不存在,只是历史坐标系的一个参照点而已,具体的说,它指IE4.0和Netscape Navigator4.0最初支持的DHTML. 节点类型 注:1 ...

随机推荐

  1. POJ 2697 A Board Game (bfs模拟)

    比较水的一道题,在4*4的棋盘上有黑白子,现在有某种移动方式,问能否通过它将棋盘从某个状态移动到另一种状态 只要想好怎么保存hash表来去重,其他就差不多了... #include <iostr ...

  2. BNU10792:沙漠旅行者

    有个旅行者计划横穿沙漠,沙漠中水资源很匮乏.旅行者需要依靠补给站的支持,才能横穿整个沙漠.假设所有的补给站都在一条直线上,而且旅行者一定沿着这条直线走.起点在1号补给站,终点在第N号补给站,起点和终点 ...

  3. [ES6] Objects create-shorthand && Destructuring

    Creating Object: Example 1: let name = "Brook"; let totalReplies = 249; let avatar = " ...

  4. 开发专题指南: JEECG高速微云开发平台前言

    JEECG微云高速开发平台-前言 1. 前言 1.1. 技术背景 随着WEB UI 框架(EasyUI/Jquery UI/Ext/DWZ)等的逐渐成熟,系统界面逐渐实现统一化,代码生成器也能够生成统 ...

  5. Swift之高德地图自定义标注弹出气泡样式

    在用到地图类的sdk,sdk自带的样式必定不能满足开发者的需求,于是开发者不得不进行自定义,由于官方同样是object-c 版语法,不得不将其转为swift语法,以满足项目需求. 新建两个类 Cust ...

  6. datagrid数据导出到excel文件给客户端下载的几种方法

    方法一:导出到csv文件,存放在服务器端任一路径,然后给客户下载 优点: 1.可以进行身份认证后给客户下载,如果放到非web目录就没有对应的url,客户无法随时下载. 2.也是因为生成了文件,所以占用 ...

  7. 用ueditor上传图片、文件等到七牛云存储

    ueditor上传文件,是用数据流的形式上传的. 而七牛云存储官方文档中,只提供了文件路径上传的方式. 但是,仅仅是在官方文档中写了这一种方式. 事实上,利用VS的对象管理器,打开Qiniu的dll, ...

  8. DataSet与DataTable的区别

    DataSet:数据集.一般包含多个DataTable,用的时候,dataset["表名"]得到DataTable DataTable:数据表. 一: SqlDataAdapter ...

  9. 反射那些事儿——Java动态装载和反射技术

    一直以来反射都是只闻其声,却无法将之使用,近日尽心下来学习下,发现了很多精妙之处. Java动态装载和反射技术 一.类的动态装载 1.Java代码编译和执行的整个过程包含了以下三个重要的机制: ● J ...

  10. Activity一共有以下四种launchMode

    1. standard: 无论什么情况都会生成一个新的Activity实例,并且放于栈顶. 2. singleTop:如果Activity纯在但是不位于栈顶,就重新生成一个Activity实例. 3. ...