var

常用JS小知识汇总

只愿长相守 提交于 2020-03-25 08:46:12
1 上传图片 :html代码 <input id="image" type='file' name='myFile' size='15' onchange="showPicture(this)" /> <img id="111" src="img/1.jpg" width="133" height="200" /> js代码: <script type="text/javascript"> function showPicture(imgFile) { // alert(window.URL.createObjectURL(imgFile.files[0])); /*获取上传文件的路径*/ document.getElementById("111").src = window.URL.createObjectURL(imgFile.files[0]); } </script> 2 多个json数组合并为一个显示 (定义一个空数组遍历各个子json,然后push进去) 1 str1,str2,str3为3个json数组 2 3 var result = new Array(); 4 5 for (var i = 0; i < str1.length; i++) { 6 result .push(str1[i]); 7 } 8 9 for (var i = 0; i < str2

Swift:闭包(Closures)

橙三吉。 提交于 2020-03-25 08:42:43
一、 基本概念 闭包(Closures)是自包括的功能代码块,能够在代码中使用或者用来作为參数传值。 在Swift中的闭包与C、OC中的blocks和其他编程语言(如C#)中的lambda, javascript中的函数嵌套等类似。 闭包能够捕获和存储上下文中定义的的不论什么常量和变量的引用。 这就是所谓的变量和变量的自封闭, 因此闭包还会处理全部捕获的引用的内存管理。 全局函数和嵌套函数事实上就是特殊的闭包。 闭包的形式有: (1)全局函数都是闭包。有名字但不能捕获不论什么值。 (2)嵌套函数都是闭包。且有名字,也能捕获封闭函数内的值。 (3)闭包表达式都是无名闭包,使用轻量级语法。能够依据上下文环境捕获值。 Swift中的闭包有非常多优化的地方: (1)依据上下文判断參数和返回值类型 (2)从单行表达式闭包中隐式返回(也就是闭包体仅仅有一行代码,能够省略return) (3)能够使用简化參数名,如$0, $1(从0開始,表示第i个參数...) (4)提供了跟随闭包语法(Trailing closure syntax) 二、使用举例(这里所列举的样例,均从《The Swift Programming Language》这本书总结所得) 以下用Swift标准库中的sort方法来一步步简化闭包写法 sort函数须要两个參数 參数一:数组 參数二:一个闭包:带有两个參数

Jquery插件制作经验分享 之 json字符串转换插件(附:jQuery.Json.js)

允我心安 提交于 2020-03-25 07:43:23
前几天在做ecshop开发商城时,因其原使用的js框架和方法,与(我想使用的)Jquery框架有冲突,但(原js文件)其中的Ajax处理的 json对象转换的方法又是不可缺少的方法,原来的不能用,只能自己想办法写或找了,为了省事,就先网上搜索看看 ——也感觉有个东西有必要随便了解和学习下:Jquery插件的制作;对于Jquery插件有些了解,却仅仅局限于使用和概念上,对于其制作,只有个大概 的'自我'认识,但却不知道其规范制作方法。[学就学规范的,上网一查 Jquery插件制作方法的文章和帖子 还挺不少。之前还感觉挺神秘或陌生的东西,一看其中的一两篇文章,发现它: 其实很简单,规范也很清晰 易用]现将所了解到的写出来,希望对“Jquery插件制作”有兴趣的朋友 有些帮助! jQuery为开发插件提拱了两个方法 ,分别是: jQuery.extend(object); 为扩展jQuery类本身.为类添加新的方法。 jQuery.fn.extend(object);给jQuery对象添加方法。 虽然 javascript 没有明确的类的概念,但是用类来理解它,会更方便。 jQuery便是一个封装得非常好的类,比如我们用 语句 $("#btn1") 会生成一个 jQuery类的实例。 jQuery.extend(object);  为jQuery类添加添加类方法,可以理解为添加静态方法

C++的那些事:你真的了解引用吗

柔情痞子 提交于 2020-03-25 07:42:34
一、引用的本质是什么 说到引用,一般C++的教材中都是这么定义的: 1,引用就是一个对象的别名。 2,引用不是值不占内存空间。 3,引用必须在定义时赋值,将变量与引用绑定。 那你有没有想过,上面的定义正确吗?编译器是如何解释引用的? 这里先给出引用的本质定义,后面我们再进一步论证。 1,引用实际是通过指针实现的。 2,引用是一个常量指针。 3,引用在内存中占4个字节。 4,在对引用定义时,需要对这个常量指针初始化。 二、探究本质 我们从最简单的变量的定义开始,看编译器会做哪些事情。 int var = 42; mov dword ptr [var],2Ah // 对应汇编代码 上面语句申请了一块内存空间,占4个字节,存放了一个int型的变量。内存里放的是42的二进制码。 汇编代码向我们表达的意思就是把42写入以var为地址的内容区域。var有点像我们理解上的指针,只是编译器并没有把它抽象出来,而是让我们更表象的理解:申请一个变量,它的值为42。 那么 var这个变量名放在哪呢 ? 我们知道程序如果访问内存里的数据,需要通过地址来进行访问,所以上面的代码在经过编译器生成目标代码时,用存放42的地址了所有的var,所以结论时, 目标文件中不存在var,所以变量名本身是不占内存的 。 而我们知道,引用是变量的一个别名。那么,从这很多人会联想到,引用会不会也只是一个名字而已

swift 上手

限于喜欢 提交于 2020-03-25 07:40:40
学习swift的笔记,偶尔会更新一下 变量与常量 变量定义使用 var ,常量使用 let ,类型安全,有自动类型推导,注意赋值的 = 号两边必须有空格。 变量和常量名是可以几乎所有字符,这些都非常像javascript。中文编程一下牛逼了。 var a = 123 //a为Int let b = "helo" //b为String var 猫叫 = "喵" 数字 十进制 二进制 0b101 八进制 0o5 十六进制 0x5 比较长的数字间可以加上 _ 用来提高程序的可读性,比如 0_0 其实就是0, _ 线不能加在开头 布尔类型 true 和 false ,流程控制 if 的时候,判断语句返回必须是一个 Bool 值,比如: let i = 1 if i { //编译报错 } 这样就可以通过 if i == 1 { } 它不像js里会有自动类型转换 类型别名 给现在的类型添加别名,同样可以提高程序的可读性,如 typealias 音频采样 = UInt16 可以在别的地方使用 var 已发现的最大振幅 = 音频采样.min 元组 它可以是一组值,这些值不必是相同的类型,例如,定义我自己: var jserme = ("183cm", 26, "76kg") 可以像数组一样访问 println(jserme.0) //返回183cm 元组还原为独立的变量或者常量 let

ES6中6种声明变量的方法

我的未来我决定 提交于 2020-03-25 07:39:01
相关阅读:http://es6.ruanyifeng.com/#docs/let 相关阅读:https://www.cnblogs.com/ksl666/p/5944718.html 相关阅读:https://www.cnblogs.com/ziyunfei/p/6038213.html ES5 只有两种声明变量的方法: var 命令和 function 命令。 ES6 除了添加 let 和 const 命令,还有两种声明变量的方法: import 命令和 class 命令。 所以,ES6 一共有 6 种声明变量的方法。 (1) var命令。 var a ;  //undefined var b = 1; var定义的变量可以修改,如果不初始化会输出 undefined ,不会报错 var 声明的变量在window上,用let或者const去声明变量,这个变量不会被放到window上 很多语言中都有块级作用域,但JS没有,它使用var声明变量,以function来划分作用域,大括号“{}” 却限定不了var的作用域,因此用var声明的变量具有 变量提升 的效果 var 声明的变量作用域是全局的或者是函数级的 (2)function命令 function add(a) {   var sum = a + 1;   return sum; } 声明了一个名为 add的新变量

js函数 循环

依然范特西╮ 提交于 2020-03-25 04:32:16
值类型之间的相互转化 转字符串:String() | .toString() | "" + // 123..toString() | 重点是 "" + 转数字:Number(a) | parseFloat() | parseInt() | + // +'123' // parseFloat('3.14.15') => 3.14 | parseInt('3.14.15') => 3 转布尔:Boolean(a) ​ 非数字:NaN // 当一个其他类型转化为数字类型的产物 // 任何判断一个结果是否是NaN, isNaN(运算) <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>类型转化</title> </head> <body> 值类型之间的相互转化 </body> <script> // number | string | boolean ​ // 转化为boolean var num = 10; var s = "123"; ​ num = 0; s = ""; var b1 = Boolean(num); var b2 = Boolean(s); console.log(b1, b2); ​ // 后期我们会在if分支结构中的判断以及循环中的判断中使用boolean类型, // 以上两种情况下,

localStorage使用总结

六月ゝ 毕业季﹏ 提交于 2020-03-25 00:57:51
http://www.cnblogs.com/st-leslie/p/5617130.html localStorage使用总结 一、什么是localStorage、sessionStorage 在HTML5中,新加入了一个localStorage特性,这个特性主要是用来作为本地存储来使用的,解决了cookie存储空间不足的问题(cookie中每条cookie的存储空间为4k),localStorage中一般浏览器支持的是5M大小,这个在不同的浏览器中localStorage会有所不同。 二、localStorage的优势与局限 localStorage的优势 1、localStorage拓展了cookie的4K限制 2、localStorage会可以将第一次请求的数据直接存储到本地,这个相当于一个5M大小的针对于前端页面的数据库,相比于cookie可以节约带宽,但是这个却是只有在高版本的浏览器中才支持的 localStorage的局限 1、浏览器的大小不统一,并且在IE8以上的IE版本才支持localStorage这个属性 2、目前所有的浏览器中都会把localStorage的值类型限定为string类型,这个在对我们日常比较常见的JSON对象类型需要一些转换 3、localStorage在浏览器的隐私模式下面是不可读取的 4、localStorage本质上是对字符串的读取

localStorage使用总结

南笙酒味 提交于 2020-03-25 00:53:02
声明:本文转自https://www.cnblogs.com/st-leslie/p/5617130.html 一、什么是localStorage、sessionStorage 在HTML5中,新加入了一个localStorage特性,这个特性主要是用来作为本地存储来使用的,解决了cookie存储空间不足的问题(cookie中每条cookie的存储空间为4k),localStorage中一般浏览器支持的是5M大小,这个在不同的浏览器中localStorage会有所不同。 二、localStorage的优势与局限 localStorage的优势 1、localStorage拓展了cookie的4K限制 2、localStorage会可以将第一次请求的数据直接存储到本地,这个相当于一个5M大小的针对于前端页面的数据库,相比于cookie可以节约带宽,但是这个却是只有在高版本的浏览器中才支持的 localStorage的局限 1、浏览器的大小不统一,并且在IE8以上的IE版本才支持localStorage这个属性 2、目前所有的浏览器中都会把localStorage的值类型限定为string类型,这个在对我们日常比较常见的JSON对象类型需要一些转换 3、localStorage在浏览器的隐私模式下面是不可读取的 4、localStorage本质上是对字符串的读取

localStorage使用总结

跟風遠走 提交于 2020-03-24 23:16:47
一、什么是localStorage、sessionStorage 在HTML5中,新加入了一个localStorage特性,这个特性主要是用来作为本地存储来使用的,解决了cookie存储空间不足的问题(cookie中每条cookie的存储空间为4k),localStorage中一般浏览器支持的是5M大小,这个在不同的浏览器中localStorage会有所不同。 二、localStorage的优势与局限 localStorage的优势 1、localStorage拓展了cookie的4K限制 2、localStorage会可以将第一次请求的数据直接存储到本地,这个相当于一个5M大小的针对于前端页面的数据库,相比于cookie可以节约带宽,但是这个却是只有在高版本的浏览器中才支持的 localStorage的局限 1、浏览器的大小不统一,并且在IE8以上的IE版本才支持localStorage这个属性 2、目前所有的浏览器中都会把localStorage的值类型限定为string类型,这个在对我们日常比较常见的JSON对象类型需要一些转换 3、localStorage在浏览器的隐私模式下面是不可读取的 4、localStorage本质上是对字符串的读取,如果存储内容多的话会消耗内存空间,会导致页面变卡 5、localStorage不能被爬虫抓取到