//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. Java 多字段排序Comparator(兼容Date,Integer,Doubel,Long)

    Java 反射类:ReflexUtil public class ReflexUtil { static Logger logger = LoggerFactory.getLogger(ReflexU ...

  2. solr 3.5 配置及server设置

    一.solr 的简单介绍 Apache Solr 是一个开源的搜索server.Solr 使用 Java 语言开发,主要基于 HTTP 和 Apache Lucene 实现.Apache Solr 中 ...

  3. google login page

    </pre><pre name="code" class="html"><div class="container&qu ...

  4. Eclipse中如何安装和使用GrepCode插件

    GrepCode(GC)Eclipse插件允许Eclipse用户在Eclipse IDE中搜索由GrepCode提供的工厂类.本教程介绍如何安装和使用插件.使用Eclipse3.5(Galileo)的 ...

  5. Tooltip(提示框)组件

    一.加载方式 //class加载方式 <a href="http://www.ycku.com" title="这是一个提示信息!" class=&quo ...

  6. IPointCollection,ISegmentCollection和IGeometryCollection

    Engine 提供了三个主要的几何图形集合接口用于对几何对象的操作,分别是 IPointCollection,ISegmentCollection 和 IGeometryCollection,这些接口 ...

  7. protected访问修饰符

    子类可以调用, 但实例化的对像不可调用  new object;

  8. Struts2 过滤器与拦截器

    学习Struts2时,发现有过滤器和拦截器,他们貌似都是一样的功能,但是为什么会有2个不同的名称呢?肯定是有区别的,所以打算自己整理一下. 过滤器,是在java web中,你传入的request,re ...

  9. Typecho中文验证码Captcha插件

    前言实在是受不了每天都要删除掉上百条的垃圾评论,干脆自己做了个验证码插件,顺带做的完善了些,分享给大家. 本插件是在评论验证码插件基础上完善而来.所不同的是,采用了最新的securimage 3.0. ...

  10. ./configure 时候报错c++ 编译器不能执行

    ./configure时报错:configure: error: C++ compiler cannot create executables .哎,今天重装测试服务器上的系统,设置好IP可以远程访问 ...