JS对象操作】的更多相关文章

这篇文章主要介绍了jquery实现点击展开列表同时隐藏其他列表的方法,涉及jquery鼠标事件及节点的遍历与属性操作技巧,具有一定参考借鉴价值,需要的朋友可以参考下 本文实例讲述了jquery实现点击展开列表同时隐藏其他列表.分享给大家供大家参考.具体如下: 这里使用jquery实现展开.隐藏特效,点击列表标题后该项内容展开,其它项收缩起来,也就是不显示了.个人喜好了,有的喜欢在默认状态下不显示其它选项的内容,这个就是这种情况,仅供参考吧. 运行效果截图如下: 具体代码如下: ? 1 2 3 4…
我最近在做一个vue + element-UI + vue-resource + vuex项目的时候,遇到了一个对象的问题. 当我们在项目需要 复制一个对象到另一个对象并且  被复制的对象不能受复制后的对象的影响. 我先总结下 我们哪些方法可以复制对象 // 直接赋值 var obj1 = { a: 1 }; var obj2 = obj1; console.log(obj2); // { a: 1 } // 通过 Object.assign() 这个属性来进行复制 var obj = { a:…
一.String常用操作 1.截取 substr(start,length) //返回从指定位置开始的指定长度的字符串. substring(start,end) //返回两个指定的位置之间的字符串. slice(start,end) //包括字符串 stringObject 从 start 开始(包括 start)到 end 结束(不包括 end)为止的所有字符. 2.拆分 split() //把字符串分割为字符串数组. 3.大小写转换 toLocaleLowerCase() //把字符串转换…
一直都听说DOM很慢,要尽量少的去操作DOM,于是就想进一步去探究下为什么大家都会这样说,在网上学习了一些资料,这边整理出来. 首先,DOM对象本身也是一个js对象,所以严格来说,并不是操作这个对象慢,而是说操作了这个对象后,会触发一些浏览器行为,比如布局(layout)和绘制(paint).下面主要先介绍下这些浏览器行为,阐述一个页面是怎么最终被呈现出来的,另外还会从代码的角度,来说明一些不好的实践以及一些优化方案. 浏览器是如何呈现一张页面的 一个浏览器有许多模块,其中负责呈现页面的是渲染引…
页面循环绑定(变量污染问题) var lis = document.querySelectorAll(".ul li") for ( var i = 0 ; i < lis.length ; i++ ) { // 绑定事件时,没有执行事件内部的逻辑体 lis[i].onclick = function () { console.log(i) # 变量污染导致 i 一直为 4 console.log( lis[i].innerText ) } } 解决变量污染问题 for ( va…
循环绑定=>变量污染 for (var i = 0;i<lis.length;i++){ lis[i].index = i;#给页面元素对象添加一个任意属性(保留索引的属性index) #循环绑定时,i分别是0,1,2,3,也就是给每个li进行事件的绑定,在绑定时,没有执行事件内部代码,只有在激活事件时才会执行,当循环结束后,i变为4(length为4),激活事件时,i已经变为4,console.log(i)打印的都是4 lis[i].onclick = function(){ console…
数据类型判断可以通过一元操作符typeof,此操作符可以判断大部分JS数据类型. 也可以通过instanceof来判断.如: var a = []; alert(typeof a); // object alert(a instanceof Array); //return true var a = {}: 把a定义为对象. 可以通过 a[key] =  value: 进行赋值. 判断a对象的长度,可以通过: var length=0; for(var jsObj in a){ length++…
js进阶正则表达式实现过滤字符串(RegExp对象操作正则表达式)(正则:regular)(表达式:expression) 一.总结 1.str_replace:正则作用:高效快速匹配 2.break关键字 3.RegExp对象操作正则表达式 (正则:regular) ['regjʊlə] (表达式:expression) [ɪkˈspreʃn] 二.js进阶正则表达式实现过滤字符串 <!DOCTYPE html> <html lang="zh-cn"> <…
一.常用的Window对象操作 Window对象中又包含了document.history.location.Navigator和screen几个对象,每个对象又有自己的属性方法,这里window可以省略. 如window.location.href  可以简写为location.href //返回运行浏览器的操作系统和(或)硬件平台 var platform = navigator.platform; //浏览器的代码名 var appCodeName = navigator.appCodeN…
在 JS 对象中,调用属性一般有两种方法--点和中括号的方法. 例如 使用点方法 var obj = { name: "cedric" } console.log(obj.name); // cedric 使用 [ ] 方法 var obj = { name: "cedric" } console.log(obj["name"]); // cedric 点方法是在对象名后面跟上属性名,而中括号方法里的索引存放的与属性名字相同的==字符串== .…
JS是一门面向对象语言,其对象是用prototype属性来模拟的,下面,来看看如何封装JS对象. 常规封装 function Person (name,age,sex){ this.name = name; this.age = age; this.sex = sex; } Pserson.prototype = { constructor:Person, sayHello:function(){ console.log('hello'); } } 这种方式是比较常见的方式,比较直观,但是Per…
在JavaScript很多人复制一个对象的时候都是直接用"=",因为大家都觉得脚本语言是没有指针.引用.地址之类的,所以直接用"="就可以把一个对象复制给另外一个对象,如下代码: var i1 = 1; var i2 = i1; i2 = 2; alert("i1:"+i1+",i2:"+i2); 输出结果:i1:1 , i2:2 但可能没有发现,这种“复制”用在对象(object)类型是“错误”的,因为这只是把对象的地址复制…
我们在写js代码时有时需要判断某个对象是不是DOM对象,然后再进行后续的操作,这里我给出一种兼容各大浏览器,同时又算是比较稳妥的一种方法. 要判断一个对象是否DOM对象,首先想到的无非就是它是否具有DOM对象的各种属性或特征,比如是否有nodeType属性,有tagName属性,等等.判断的特征越多,也就越可靠,因为毕竟我们自定义的js对象也可以有那些属性.还有其他方法吗? 在DOM Level2标准中定义了一个HTMLElement对象,它规定所有的DOM对象都是HTMLElement的实例,…
[连接运算符 + ] <script> console.log(1+2+'a'+3+4); </script> 输出: 3a34 [逻辑运算符]返回的是最早能判断表达式结果的那个值 例① <script> var a = false; var b = 10; var c = true; var d = a || b || c; console.log(d); console.log(typeof(d)); </script> 输出: 10 number 例②…
js 对象 浅拷贝 和 深拷贝 1.浅拷贝 拷贝就是把父对像的属性,全部拷贝给子对象. 下面这个函数,就是在做拷贝: var Chinese = { nation:'中国' } var Doctor = { career:'医生' } function extendCopy(p) { var c = {}; for (var i in p) { c[i] = p[i]; } c.uber = p; return c; } 1 2 3 4 5 6 7 8 9 10 11 12 13 14 使用的时…
前奏 对象是js的基本数据类型,准确来说除了字符串,数字,boolean值,null与undifine之外,js中的值都是对象.js中的对象是一种复合值,他将很多值(原始值或其他对象)聚合在一起,可以通过名字来访问这些值,其实看上去就像是一个属性的无序集合,每个属性都是一个名/值对.属性名是字符串,可以把对象看成是从字符串到值得映射.这种现象就像我们平时知道的“关联数组”,“数据字典”等等(只是叫法不同而已).除了这种映射关系外,最主要的核心就是js的对象可以通过“原型继承”来继承属性与方法.另…
在 JS 中一切皆对象,并提供了多个内置对象,比如:String.Array.Date 等,此外还支持自定义对象.对象只是一种特殊类型的数据,并拥有属性和方法,属性是与对象相关的值,方法是能够在对象上执行的动作. 1.String 对象 String 对象用于处理文本,也就是字符串.一个字符串用于存储一系列的字符,通常 JS 字符串是原始值,可以使用变量声明,也可以使用 new 关键字将字符串定义为一个对象,在 JS 中并不提倡使用 new 关键字创建对象.原始值字符串是没有属性和方法的,但是可…
js中,一切事物都是对象.对象是一切的基础. 而具体到某一个对象时. 对象则是包含一组变量和函数的集合实例 我们先来中体会下je对象的全局. 接下来就具体揭开这个对象的面纱吧 ja对象分类 Function对象 Function实例 构造函数function Object对象 创建静态对象 两者区别 Function·对象,具有调用功能 (可当做构造函数,添加参数), 1通过new关键字实例化,构造函数function,必须通过 function实例,如alert() 2 Object对象,具有…
结合红宝书和网上的一些文章,记录下自己对关于js对象的值的传递的一些理解. js对象是保存在堆内存中的,当把对象赋值给变量时,是把对象在堆内存的引用(地址)赋值给了变量,变量通过地址来访问对象.下面来看两个例子,一个是自己想的,一个是红包书上的. 第一个是自己的例子: var a = [1,3];var b = a; b= [3,4]; //先将对象[1,3]的地址赋值给了a,a又将自己的地址副本赋值给了b,a和b引用的是同一个对象[1,3].然后又将[3,4]的地址赋值给了b [3, 4] /…
node.js高效操作mongodb Mongoose库简而言之就是在node环境中操作MongoDB数据库的一种便捷的封装,一种对象模型工具,类似ORM,Mongoose将数据库中的数据转换为JavaScript对象以供你在应用中使用. 当然要使用的话,必须要先安装好环境Node.js与MongoDB => MongoDB安装 MongoDB是目前最流行的noSQL数据库之一,它是专为node.js而开发的,理解下与我们常用的RDBMS关系型数据库的区别就可以基本使用了 MongoDB中有三个…
javascript中字符串常用操作总结.JS字符串操作大全 String对象属性 (1) length属性 length算是字符串中非常常用的一个属性了,它的功能是获取字符串的长度.当然需要注意的是js中的中文每个汉字也只代表一个字符,这里可能跟其他语言有些不一样. var str = 'abc'; console.log(str.length); (2) prototype属性 prototype在面向对象编程中会经常用到,用来给对象添加属性或方法,并且添加的方法或属性在所有的实例上共享.因…
Node.js之操作文件系统(一) 1. 同步方法与异步方法 在Node.js中,使用fs模块来实现所有有关文件及目录的创建.写入及删除操作.,在fs模块中,所有对文件及目录的操作都可以使用同步与异步这两种方法.这两者区别是:同步方法立即返回操作结果,在使用同步方法执行的操作结束之前,不能执行后续代码,代码类似如下: Var fs = require('fs') var data = fs.readFileSysnc('./index.html','utf8') //等待操作返回结果,然后利用该…
Node.js之操作文件系统(二) 1.创建与读取目录 1.1 创建目录 在fs模块中,可以使用mkdir方法创建目录,该方法的使用方法如下: fs.mkdir(path,[mode],callbcak) //第一个参数:指定需要被创建的目录的完整路径及目录名, 第二个参数:指定该目录的权限,默认为0777 第三个参数,用于创建目录操作完毕时调用的回调函数, function(err){ } 在使用同步方法创建目录时,可以使用fs模块中的mkdirSync方法,使用该方法如下: fs.mkdir…
什么是Jquery? Jquey就是一款跨主流浏览器的JavaScript库,简化JavaScript对HTML操作 就是封装了JavaScript,能够简化我们写代码的一个JavaScript库 为什么要使用Jquery? 我觉得非常重要的理由就是:它能够兼容市面上主流的浏览器,我们学习AJAX就知道了,IE和FireFox获取异步对象的方式是不一样的,而Jquery能够屏蔽掉这些不兼容的东西- (1)写少代码,做多事情[write less do more] (2)免费,开源且轻量级的js库…
js对象详解(JavaScript对象深度剖析,深度理解js对象) 这算是酝酿很久的一篇文章了. JavaScript作为一个基于对象(没有类的概念)的语言,从入门到精通到放弃一直会被对象这个问题围绕. 平时发的文章基本都是开发中遇到的问题和对最佳解决方案的探讨,终于忍不住要写一篇基础概念类的文章了. 本文探讨以下问题,在座的朋友各取所需,欢迎批评指正: 创建对象 __proto__与prototype 继承与原型链 对象的深度克隆 一些Object的方法与需要注意的点 ES6新增特性 下面反复…
我们先从盘古开天辟地时捋一捋对象: 从宏观内容来讲,javascript是一个属性的集合,包括值,函数,而整个集合也可以类比为一个对象. js = { a的变量名: a的值, ... 函数b: function () {} ... } 注: 这里的js指的是javascript对象(ECMAscript对象),而不是DOM和BOM对象. 紧接着我们听到一个“传说”:‘javascript中一切都是对象’  ,或者说是有这么一个说法,但到底说的正确还是不正确,我们还需要自己追根溯源,挖掘一下: 从…
一.jQuery简介 1.0 JavaScript编程比较恶心的地方 恶心1:选择元素麻烦,全线兼容的方法只有getElementById()和getElementsByTagName()两个.其他的方法是不都兼容的.getElementsByClassName()通过类名选择元素,IE9开始兼容. 恶心2:样式操作麻烦,得到原生样式,需要我们自己造轮子getStyle() 恶心3:动画麻烦,需要我们自己造轮子animate(); 恶心4:批量控制麻烦,大量出现的for循环语句:排他操作麻烦 恶…
前言 通过问题看本质: 举例: js的写法:document.getElementById('save').disabled=true; 在jquery中我是这样写的 $("#save").disabled = true; //没有效果 分析: 其实因为$("#save")出来的其实是jQuery对象,而不是普通DOM对象 解决方法: 1)用JQ写法 $("#save").attr("disabled","true&…
对象 基本数据类型都是单一的值,值和值之间没有任何联系,变量之间独立,不能成为一个整体. 对象属于一种符合的数据类型,对象中可以保存对个不同数据类型的属性. 对象分类:  1.内建对象   由ES标准中定义的对象,在任何的ES的事项中都可以使用:Math String Number Bollean Function Object  2.宿主对象   由JS的运行环境提供的对象,目前来讲主要指由浏览器提供的对象:BOM(浏览器对象模型) DOM(文档对象模型)  3.自定义对象   由开发人员创建…
创建js对象可以使用多种模式,每种模式有着不同的特点:如下: 1.工厂模式:创建一个函数,在函数中实例化一个对象,当每次调用函数时,就实例化一个对象,并返回这个对象: 我们知道,对象是引用形式的,每次实例化一个对象,就是在内存中开辟一个内存空间,所以每次实例化出来的内存空间是不一样的 一旦执行完调用,就是一个返回一个新对象,和原先调用的函数对象没有关系了 1 <script> 2 function createPeraon(name, age, job) { 3 var o = new Obj…