var方法

jquery属性的相关js实现方法

纵饮孤独 提交于 2019-11-28 23:52:23
转载: https://www.haorooms.com/post/js_shixian_jquery 有些公司手机网站开发不用第三方的jquery或者zeptio,直接用原生的javascript。原生javascript功能是蛮强大的,只不过部分属性不支持IE8以下浏览器。下面对jquery相关方法,如何用js来实现,做一些简单总结。 元素操作 Add Class //JQUERY $(el).addClass(className); //js //谷歌浏览器,火狐浏览器,IE8+ if (el.classList) el.classList.add(className); else el.className += ' ' + className; //谷歌浏览器,火狐浏览器,IE10+ el.classList.add(className); After //JQUERY $(el).after(htmlString); //js 谷歌浏览器,火狐浏览器,IE8+ el.insertAdjacentHTML('afterend', htmlString); Append //JQUERY $(parent).append(el); //js谷歌浏览器,火狐浏览器,IE8+ parent.appendChild(el); Before //JQUERY $(el).before

E004Web学习笔记-JavaScript(二):JS对象

此生再无相见时 提交于 2019-11-28 22:40:38
一、Function 1、概述 是一个函数对象; 2、Function:函数(方法)对象 ①创建 //1、方法1(不建议使用) var fun = new Function(形参列表,方法体); 示例: var fun = new Function("a","alert(a)"); fun(2); //2、方法2(掌握-常用) function 方法名称(形式参数列表){ 方法体 } 示例: function say(a){ alert(a); } say("哈哈哈哈"); //3、方法3(掌握) var 方法名 = function(形式参数列表){ 方法体 } 示例: var la = function(a){ alert(a); } la("哈哈哈哈哈哈哈"); ②方法 ③属性 length:代表形参的数量; ④特点 1、方法定义时,形参的数据类型不用写; 2、方法是一个对象,如果定义名称相同的方法不会保存,后面的方法会把前面的覆盖; 3、在JS中,方法的调用只与方法的名称有关,与所传参数无关; 4、在方法声明中,有一个隐藏的内置对象,是个数组,叫做arguments,封装所有参数; 4的运用例子: <script type="text/javascript"> function add(){ var sum = 0; for(var i=0;i<arguments

JavaScript 中的对象引用

↘锁芯ラ 提交于 2019-11-28 20:27:14
ECMAScirpt 变量有两种不同的数据类型: 基本类型,引用类型 。也有其他的叫法,比如 原始类型和对象类型 , 拥有方法的类型和不能拥有方法的类型 ,还可以分为 可变类型和不可变类型 ,其实这些叫法都是依据这两种的 类型特点来命名! 1.基本类型 基本的数据类型有:`undefined,boolean,number,string,null.基本类型的访问是按值访问的,就是说你可以操作保存在变量中的实际的值。基本类型有以下几个特点: 1.基本类型的值是不可变得: 任何方法都无法改变一个基本类型的值,比如一个字符串: var name = 'jozo'; name.toUpperCase(); // 输出 'JOZO' console.log(name); // 输出 'jozo' 会发现原始的name并未发生改变,而是调用了toUpperCase()方法后返回的是一个新的字符串。 再来看个: var person = 'jozo'; person.age = 22; person.method = function(){//...}; console.log(person.age); // undefined console.log(person.method); // undefined 通过上面代码可知,我们不能给基本类型添加属性和方法,再次说明基本类型时不可变得; 2

JS 对象及基本属性或方法

送分小仙女□ 提交于 2019-11-28 20:19:05
//使用构造函数构建对象 //1) //构造对象函数 var obj = new Object(); obj.name = "tom"; obj.age = 16; obj.gender = "male"; console.log(obj); //点访问符 console.log(obj.name); //中括号访问符 console.log(obj["gender"]); //2) //构造对象函数 var obj = {}; obj.name = "lucy"; obj.age = 18; obj.gender = "female"; console.log(obj); //对象序列化和返序列化 //将js对象转换为json字符串 var json = JSON.stringify(obj); console.log(obj); //将json字符串转换js对象 var obj = JSON.parse(json); console.log(obj); //3) //对象字面量 var obj = { name:"lily", age:15, gender:"male" }; console.log(obj); //删除属性 delete obj.name; console.log(obj); //4) //对象字面量 var obj = { name:"lisa", age

ES5

此生再无相见时 提交于 2019-11-28 17:35:53
一、ES5简介   ECMAScript 5.1 (或仅 ES5) 是ECMAScript(基于JavaScript的规范)标准的修正。 与HTML5规范进程本质类似,ES5通过对现有JavaScript方法添加语句和原生ECMAScript对象做合并实现标准化。 二、ES5严格模式   目的:     1.消除Javascript语法的一些不合理、不严谨之处,减少一些怪异行为。     2.消除代码运行的一些不安全之处,保证代码运行的安全。     3.提高编译器效率,增加运行速度。     4.为未来新版本的Javascript做好铺垫。   使用:     1.针对整个脚本文件:将"use strict"放在脚本文件的第一行,则整个脚本都将以"严格模式"运行。如果这行语句不在第一行,则无效,整个脚本以"正常模式"运行。如果不同模式的代码文件合并成一个文件,这一点需要特别注意。     2.针对单个函数:将"use strict"放在函数的第一行,则整个函数以"严格模式"运行。   语法及行为改变:     1.全局变量显式声明:在正常模式中,如果一个变量没有声明就赋值,默认是全局变量。严格模式禁止这种用法,全局变量必须显式声明。因此,严格模式下,变量都必须先用var命令声明,然后再使用。     2.函数形参不允许重复。     3.禁止使用with语句。     4

Java11新特性解读

北慕城南 提交于 2019-11-28 15:04:18
在去年的9月26日,Oracle官方宣布Java11正式发布,这是Java大版本周期变化后的第一个长期支持版本,非常值得关注。Java9和Java10都在很短的时间内就过渡了,所以,Java11将是一个不可忽视的版本。从时间节点看,JDK11的发布正好处在JDK8免费更新到期的前夕,同时,JDK8、9也将陆续成为"历史版本"。 那么,关于Java11的新特性到底有哪些呢?容我一一介绍。 局部类型推断 什么是局部类型推断? var str = "helloworld"; System.out.println(str); 局部变量类型推断就是左边的类型直接使用var定义,而不用写具体的类型,编译器能根据右边的表达式自动推断类型,如上面的str变量使用var定义,编译器就能通过右边的"helloworld"自动推断出这是一个String类型的变量。 但是,值得注意的是,这个var并不是一个关键字,很多同学看到变量都能使用var来定义,那var还不是关键字吗?事实上,它真的不是一个关键字。 int var = 10; System.out.println(var); 例如上面的这段代码是能够正确运行的,这证明var不是关键字。 我们还可以通过反编译来看,例如我们反编译这样一段代码: var a = 100; System.out.println(a); 反编译得到的结果为: byte a

数组slice方法

扶醉桌前 提交于 2019-11-28 11:35:11
slice slice(start,end):方法可从已有数组中返回选定的元素,返回一个新数组,包含从start到end(不包含该元素)的数组元素。(不会改变原数组) start参数:必须,规定从何处开始选取,如果为负数,规定从数组尾部算起的位置,-1是指最后一个元素。 end参数:可选(如果该参数没有指定,那么切分的数组包含从start倒数组结束的所有元素,如果这个参数为负数,那么规定是从数组尾部开始算起的元素)。 1 slice(1,3) var array = [1, 2, 3, 4, 5]; var array1 = array.slice(1, 3); // array [1, 2, 3, 4, 5] // array1 [2, 3] 2 slice(1) var array = [1, 2, 3, 4, 5]; var array1 = array.slice(1); // array [1, 2, 3, 4, 5] // array1 [2, 3, 4, 5] 2 slice() var array = [1, 2, 3, 4, 5]; var array1 = array.slice(1); // array [1, 2, 3, 4, 5] // array1 [1, 2, 3, 4, 5] 来源: https://www.cnblogs.com/heihei

js-数组去重的方法

 ̄綄美尐妖づ 提交于 2019-11-28 07:27:35
在js中我们想对数组中对于数字重复的值进行操作只显示一个,就分享几个方法 1、数组的indexOf()方法 <script> (function () { var box = document.getElementById('box'); var arr = [1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7]; norepeat(arr); function norepeat(arr) { var arr1 = [];//声明一个空数组来存放去重之后的数组 arr1 = arr.filter(function (item) { if (arr1.indexOf(item) == -1) { return arr1.push(item); } }) console.log(arr1); } })(); </script> 2、用数组includes()方法(比indexOf()方便) function norepeat2(arr) { //arr是要去重的数组 var newarr = [];//准备用来存放去重之后的数据 arr.forEach(function (item) { if (!newarr.includes(item)) {//1 2 1 2 3 4 //不包含 newarr.push(item);//1 2 3 4 } });

js中对象字面量

*爱你&永不变心* 提交于 2019-11-28 07:10:43
一、对象字面量语法 var person={ name:'小王', age:18, _pri:233 }     成员名称的单引号不是必须的 最后一个成员结尾不要用逗号,不然在某些浏览器中会抛出错误 成员名相同会发生什么? es5普通模式下后定义的会覆盖前面定义的,严格模式则会报错 es6则不管什么模式都采用后面的覆盖前面的 成员名可以是动态变量吗? es5只能在对象字面量表达式申明以后再添加 原文链接: https://www.cnblogs.com/94pm/p/9179231.html var dynamicVar="dyna"; var person={ } person[dynamicVar]='123'; console.log(person[dynamicVar])    es6则更符合使用场景,可在表达式内创建动态的成员名 var dynamicVar="dyna"; var person={ [dynamicVar]:'test' } console.log(person[dynamicVar])   es6中如果想使用表达式外面的变量名作为成员名,变量的值作为成员值,可进一步简写为 var dynamicVar="dyna"; var person={ dynamicVar, //这是一个语法糖,js引擎会解释为dynamicVar:'dyna' age:15

扩展方法

Deadly 提交于 2019-11-28 07:04:09
扩展方法是说,你原来的类,没有这么个方法,可是你想用这个方法,于是就出现扩展方法。 比如string这个类他没有为字符串添加双引号的方法,这个时候就能自己写扩展方法让string具有这个方法 var original = "ABCD"; var quoted = original.Quote(); Console.WriteLine(original); Console.WriteLine(quoted); public static class StringExtension { public static string Quote(this string str) { return $"\"{str}\""; } }   有以下几点要注意的 1.必须要在一个静态类里面声明一个静态方法 2.静态方法的第一个参数必须是用this打头的,并且这个参数的类型是要依附的类的类型 3.在使用这个方法的时候,不需要为第一个参数提供实参,因为实例本身就是这个实参 再如下面这个栗子 namespace Trimming { static class DoubleExtension { public static double Round(this double value, int digits) { return Math.Round(value, digits); } } class