//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. php form表单post提交获取不到数据,而使用get提交能获取到数据 的解决办法

    开发环境:xampp,mac,phpstorm 其实出现这个问题的原因就是在于phpstorm,它默认使用的是自带的内部服务器,这个服务器使用63342端口,而且服务器内部有问题,导致POST方法异常 ...

  2. Android 使用ViewPager实现左右循环滑动图片

    ViewPager这个小demo实现的是可以左右循环滑动图片,下面带索引,滑到最后一页在往右滑动就要第一页,第一页往左滑动就到最后一页,先上效果图,用美女图片是我一贯的作风,呵呵 1.    首先看一 ...

  3. 福昕阅读器drm加密解密总结

    drm是数字版权保护的一种方式,前一段时间在做四川文轩数字图书馆项目的时候用到了相关的知识,感觉这东西对于一些在线阅读和视频播放还是有很大用处的. 对于其工作原理我也很好奇,先摘抄度娘的内容如下,当然 ...

  4. USB HID Report Descriptor 报告描述符详解

    Report descriptors are composed of pieces of information. Each piece of information is called an Ite ...

  5. 关于textbox.attributes["value"]的问题

    在“修改”时,出现这个问题,后台点击修改时,应该是文本框出现一些初始值 BLL.manager bll = new BLL.manager(); Model.manager model = bll.G ...

  6. Asp.Net 下载文件的几种方式

    asp.net下载文件几种方式 protected void Button1_Click(object sender, EventArgs e) { /* 微软为Response对象提供了一个新的方法 ...

  7. sql中视图视图的作用

    视图是一个虚拟表,其内容由查询定义.同真实的表一样,视图包含一系列带有名称的列和行数据.但是,视图并不在数据库中以存储的数据值集形式存在.行和列数据来自由定义视图的查询所引用的表,并且在引用视图时动态 ...

  8. Objective-C探究alloc方法的实现

    OS X,iOS中的大部分作为开源软件公开在 Apple Open Source 上.虽然想让大家参考NSObject类的源代码,但是很遗憾,包含NSObject类的Foundation框架没有公开. ...

  9. Swift 循环、数组 字典的遍历

    import Foundation // 数组声明 var arr = [String]() // 数组循环添加项 ...{ arr.append("Item \(index)") ...

  10. C#使用多态求方形面积周长和圆的面积周长

    class class1 { public static void Main(string[] args) { //使用多态求矩形面积与周长和圆的面积与周长 Shape cl = ); double ...