js

微信JS初始化--微信JS系列文章(一)

夙愿已清 提交于 2020-01-24 15:35:47
概述    微信JS 的使用方法, 官方文档 已经描述得比较清楚了,这里我就不重复介绍了,本文意在提供现成的代码,供大家快速迭代开发,以及补充一下官方文档描述得不够清楚的地方,避免大家踩相同的坑。 微信JS初始化所需参数 wx.config({ debug: true, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。 appId: '', // 必填,公众号的唯一标识 timestamp: , // 必填,生成签名的时间戳 nonceStr: '', // 必填,生成签名的随机串 signature: '',// 必填,签名,见附录1 jsApiList: [] // 必填,需要使用的JS接口列表,所有JS接口列表见附录2 }); JS-SDK使用权限签名算法   签名生成规则如下:参与签名的字段包括noncestr(随机字符串), 有效的 jsapi_ticket , timestamp(时间戳), url (当前网页的URL,不包含#及其后面部分) 。对所有待签名参数按照字段名的ASCII 码从小到大排序(字典序)后,使用URL键值对的格式(即key1=value1&key2=value2…)拼接成字符串string1。这里需要注意的是所有参数名均为小写字符

JS中apply和call的区别和用法

百般思念 提交于 2020-01-24 14:45:40
Javascript中有一个call和apply方法,其作用基本相同,但是它们也有略微不同的地方。 JS手册中对call方法的解释是: call方法:调用一个对象的一个方法,以另一个对象替换当前对象。 call(thisObj,arg1,arg2……) 参数: thisObj 可选项,将被用作当前对象的对象。 arg1,arg2……argN 可选项,将被传递参数列表。 call方法可以用来代替另一个对象调用一个方法。call方法可以将一个函数的对象上下文从初始的上下文改变为由thisObj指定的新对象。如果没有提供thisObj参数,那么Global对象被用作thisObj。 举例如下: <input type="text" id="myText" value="input text"> <script> function Obj(){this.value="对象!";} var value="global 变量"; function Fun1(){alert(this.value);} window.Fun1(); //global 变量 Fun1.call(window); //global 变量 Fun1.call(document.getElementById('myText')); //input text Fun1.call(new Obj()); //对象! <

c# json数据解析——将字符串json格式数据转换成对象

好久不见. 提交于 2020-01-24 13:51:35
网络中数据传输经常是xml或者json,现在做的一个项目之前调其他系统接口都是返回的xml格式,刚刚遇到一个返回json格式数据的接口,通过例子由易到难总结一下处理过程,希望能帮到和我一样开始不会的朋友。 1.json简单对象 json数据: {"result":"0","res_info":"ok","queryorder_info":"info"} 我这里是以jsonmy1.txt文件的形式保存在d盘json文件夹下。 构造对象: public struct ToJsonMy { public string result { get; set; } //属性的名字,必须与json格式字符串中的"key"值一样。 public string res_info { get; set; } public string queryorder_info { get; set; } } 转换过程: public static void JsonMy() { string json = Jsonstr("D:\\json\\jsonmy1.txt");//Jsonstr函数读取json数据的文本txt        JavaScriptSerializer js = new JavaScriptSerializer(); //实例化一个能够序列化数据的类 ToJsonMy list = js

Js 控件编写 继承:extend、mixin和plugin(一)

浪子不回头ぞ 提交于 2020-01-24 13:49:28
Js 继承:extend、mixin和plugin(一) 简介: 我们编写前端控件时,需要给控件建立一个体系,面向对象是一个很合适的方式,但是JS本身对面向对象的一些概念支持偏弱,特别是继承的特性方面,那么我们就必须通过一系列的方式来实现继承。 Extend方式: Extend方式非常贴近面向对象语言中的类继承,这种方式使用原型链的方式来实现继承。原型链的继承方式有几个缺点: 1)缺少针对父类的引用,例如: function A(){ //初始化A操作 } A. prototype = { method1:function(){ //A的一系列操作 } } function B(){ //初始化B的操作 } B.prototype = new A(); B.method1 = function(){ //先执行 A.method1的方法 //执行自己的方法 } 那么此时如何在调用A的method1方法呢?我们没有java中的 ’ super ’ 对象也缺少C#中的 ’ base ’ 对象,当然我们可以换一种写法,来解决这个问题: var aobj = new A(); B.prototype = aobj; B.method1 = function(){ aobj.method1.call(this);//先执行 A.method1的方法 //执行自己的方法 }

JS(15)节点操作

瘦欲@ 提交于 2020-01-24 12:47:50
1.节点 -- 网页中的所有内容都是节点(标题、属性、文本、注释等),在Dom中,节点使用node来表示。 -- Dom树中所有节点可以通过JS来访问,所有节点可被修改,创建删除。 -- 一般,节点至少有,nodeType,nodeName,nodeValue这三个基本属性 -- 元素节点 nodeType 为 1 -- 属性节点 nodeType 为 2 -- 文本节点 nodeType 为 3 (包括文字,空格,换行) 在实际开发中,节点操作的是元素节点 2.父级节点 -- node.parentNode -- parentNode 属性可以返回某节点的父级节点,最近的父级节点(亲爸爸) -- 如果指定的节点没有父级节点则返回null 3.子节点 3.1.parentNode.childNodes -- 返回包含指定节点的子节点的集合 -- 注意:返回值里面包含来所有的子节点,包括元素节点,文本节点等。 -- 如果只想要获得里面的元素节点,则需要专门处理,不推荐子元素节点。 3.2.parentNode.children -- 只读属性,返回所有的子元素节点,只返回子元素节点。 3.3.parentNode.firstChild (第一个子节点) -- 返回第一个子节点,找不到返回null,同样,也是包含所有的节点。 3.4.parentNode.lastChild

JS——省市二级联动

随声附和 提交于 2020-01-24 12:04:04
1、核心代码: <script> var cities = new Array(11); cities[0] = new Array("东城区","西城区" ,"崇文区", "宣武区" ,"朝阳区" ,"丰台区","石景山区" ,"海淀区门" ,"头沟区"); cities[1] = new Array(); cities[2] = new Array(); cities[3] = new Array(); cities[4] = new Array(); cities[5] = new Array(); cities[6] = new Array(); cities[7] = new Array(); cities[8] = new Array(); cities[9] = new Array(); cities[10] = new Array(); cities[11] = new Array(); function changeCity(val){ var cityEle = document.getElementById("city"); cityEle.options.length=0; for(var i=0;i<cities.length;i++){ if(val==i){ for(var j=0;j<cities[i].length;j++){ var

关于JS中常用事件绑定

瘦欲@ 提交于 2020-01-24 10:12:04
Js中的Onload事件绑定以及含义 标注: 1. 浏览器加载页面的顺序:从上到下; 2. onload事件的应用场景:整个html页面加载完成之后,在执行js的操作(因为js操作中可能提前使用到html页面的标签); 3. onload事件最常用写法: window.onload = function(){//方法体} ; < ! DOCTYPE html > < html lang = "en" > < head > < meta charset = "UTF-8" > < title > Title < / title > < script type = "text/javascript" > //body加载完成后执行 window . onload = function ( ) { //1.动态获取按钮并将按钮绑定事件 document . getElementById ( "btn" ) . onclick = function ( ) { alert ( "Hello World" ) ; } } < / script > < / head > < body > < button id = "btn" > 我是按钮,请点击我 < / button > < / div > < / body > < / html > Js中的Onblur事件绑定以及含义

js 数组、对象常见的遍历用法大全

♀尐吖头ヾ 提交于 2020-01-24 08:44:03
前言 对于前端js使用中,遍历函数是经常用到的,下面就列举一下前端的常见遍历方法 一、没有返回值的方法 for for 遍历应该是最普通也是最常见的遍历,如下: for ( let i = 0 ; i < 5 ; i ++ ) { console . log ( i ) ; //0 1 2 3 4 5,i为遍历次数 } for…in for…in 语句用于遍历数组或者对象的属性 const person = { id : '1' , name : '李子' } ; for ( let x in person ) { console . log ( x , person [ x ] ) ; } //id 1 //name 李子 //x 为对象的属性名:id、name;persion[x]即为对应的属性值了 注意: 1、该用法用于数组遍历时, x 则是数组的下标 2、一般用于对象属性遍历居多, 不建议对数组使用 ,原因如下: const person = [ { id : '1' , name : '李子' } ] ; person . test = '123' ; for ( let x in person ) { console . log ( x , person [ x ] ) ; } //0 { id: '1', name: '李子' } //test '123' 当数组对象

JS 数组循环遍历方法的对比

时光总嘲笑我的痴心妄想 提交于 2020-01-24 08:18:42
以下介绍比较简单,最好把代码复制到控制台敲一遍 原生for var arr = [1,2,4,6] for(var i = 0, len = arr.length; i < len; i++){ console.log(arr[i]) } forEach 语句 var arr = [1,5,8,9] arr.forEach(function(item) { console.log(item); }) for-in 语句 一般会使用for-in来遍历对象的属性的,不过属性需要 enumerable,才能被读取到. (关于enumerable,参见我的另一篇博客 defineproperty ) var obj = { name: 'test', color: 'red', day: 'sunday', number: 5 } for (var key in obj) { console.log(obj[key]) } for-of 语句 (ES 6) for-of语句在可迭代对象(包括 Array,Map,Set,String,TypedArray,arguments 对象等等)上创建一个迭代循环 var arr = [{name:'bb'},5,'test'] for (item of arr) { console.log(item) } map 方法 (不改变原数组) map

JS高级第1天

不羁岁月 提交于 2020-01-24 06:45:59
阶段目标 主要学习 JS 的 面向对象 编程思想。 对象 概念 在编程领域,任何 事 和 物都可以概括成对象。 对象概念练习 用编程思想抽象出你心仪对象的属性和方法。 对象由属性和方法组成,属性和方法都可以用 键值对 定义。 心仪对象: 属性:特征 身高:150 cm 年龄:36 性别:女 腿:大长腿 方法:功能 - 函数 生活技能:煮饭 运动技能:打篮球 艺术技能:rap <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>Document</title> </head> <body> <script> // 创建一个对象 var person = { // 对象的属性 - 特征 height: "170cm", age: 36, sex: "女", leg: "大长腿", // 生活技能 // 对象的方法 - 功能,技能,函数 liveSkill:function(){ console.log('生活技能: 煮饭'); }, sportSkill