//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连接AD域,验证账号password是否正确

    web项目中有时候客户要求我们使用ad域进行身份确认,不再另外做一套用户管理系统.事实上客户就是仅仅要一套账号能够訪问全部的OA.CRM等办公系统. 这就是第三方验证.一般有AD域,Ldap,Radi ...

  2. [Git] Automatically running tests before commits with ghooks

    Wouldn't it be nice if everyone ran the tests before committing code? With ghooks, you can automatic ...

  3. css行高line-height的用法(转)

    本文导读: “行高“指一行文子的高度,具体来说是指两行文子间基线间的距离.在CSS,line-height被用来控制行与行之间的垂直距离.line- height 属性会影响行框的布局.在应用到一个块 ...

  4. 使用ICallbackEventHandler接口更高效实现Ajax

    使用ICallbackEventHandler接口可以方便地高效地实现Ajax功能 1.处理页面需实现ICallbackEventHandler接口,此接口有两个方法 a.GetCallbackRes ...

  5. 手动向IIS注册.net框架组件

    安装.NET Framework时,会自动在IIS上注册ASP.NET,如果已经存在.NET Framework再安装的IIS,必须告诉IIS已经存在framework.   有时IIS功能缺失或异常 ...

  6. n行m列的网格中含有的矩形数

    给你一个高为n ,宽为m列的网格,计算出这个网格中有多少个矩形 公式:[ n(n+1)*m(m+1)]/4 直接想问题比较复杂,可以先考虑矩形的长,再考虑矩形的高,由对称性可知最后的结果中m和n对称 ...

  7. hdoj 1233 还是畅通工程---最小生成树---prime算法

    题目:http://acm.hdu.edu.cn/showproblem.php?pid=1233 可以用Kruskal来做,不过当图的边比较稠密的时候用prime会更快一些. AC代码:296MS ...

  8. Linux下MySQL的彻底卸载和安装配置字符集

    前言: Linux环境下MySQL的安装和配置在网上已经有很多教程了.之所以写这篇文章是因为在配置字符集的时候找了网上的一些教程发现并不能用导致折腾了一阵子.下面的教程均是亲自实践. MySQL的彻底 ...

  9. poi实现Excel导出

    最近做了一个导出Excel的小功能,以前没接触过,现在分享下自己的代码,想让各位帮忙看看有啥地方可以优化,也方便自己以后查阅... 首先是excelAction的代码: /** * excelActi ...

  10. Python一路走来 线程 进程

    Python线程 Threading用于提供线程相关的操作,线程是应用程序中工作的最小单元. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 #!/usr/bin/env pytho ...