var函数

封装函数实现存储和读取的功能

生来就可爱ヽ(ⅴ<●) 提交于 2020-01-07 16:01:32
需求: 在全局中只有一个namespace函数, 可以实现两种功能, 一种是存储数据,另一种是读取数据 存储数据的时候: namespace('a.b.c', 123); 读取数据的时候: namespace('a.b.c') => 123 读取: namespace('a.b') => {c: 123} 读取: namespace('a') => {b: {c: 123}} a:{ b: { c: 123 } } 该函数可以实现两种功能: 第一种是可以存储数据: 当存储数据的时候需要接收两个参数,第一个参数是存储的路径,第二个参数存储的数据 第二种是可以读取数据: 当读取数据的时候,需要接收一个参数就是要读取的路径 var namespace = (function() { // 数据存储和读取的对象 var obj = {}; return function(path, val) { // 模拟函数的重载 if(arguments.length == 2) { //实参个数为2 则为存储数据 // 划分路径 var pathArr = path.split('.'); // 引用obj变量 var obj1 = obj; // 设置最后的键 var index = pathArr.pop(); // 循环产生对象 for(var i = 0;i < pathArr.length

javascript当中Function用法

独自空忆成欢 提交于 2020-01-07 15:47:24
4)Function用法 例 3.4.1 <head> <meta http-equiv="content-type" content="text/html; charset=utf-8"/> </head> <script> /*When the Global object is created, it always has at least the following properties: Object object Function object Array object String object Boolean object Number object Date object Math object Value properties */ /*Function的好处是, 函数体可以是运行时的一个传入的动态字符串,for the Function class, the last parameter is function body, while the parameters before the last one are input arguments., 'x' can be changed to "x" */ var a='return x + y;'; var f = new Function('x', 'y',a );// 等价于var f = function

(Go) 2. 常量与变量

六眼飞鱼酱① 提交于 2020-01-07 08:49:35
一. 变量 1.函数的特征 函数外只能放标识符(变量\常量\函数\类型) 如果要编译一个可执行文件,必须要声明一个main包,且代码中要有main函数 main函数是入口函数,没有参数,也没有返回值 函数外必须以关键字开头 // 第一行必须声明包名 package main// 导入语句 import "fmt" // fmt.Println("from G:") //非法 // 程序的入口函数 func main() { fmt.Println("from G:") } 2.标识符:字母数字下划线,只能以字母和下划线开头 3.25个关键字,37个保留字 break default func interface select case defer go map struct chan else goto package switch const fallthrough if range type continue for import return var 4. 静态语言 :变量必须要声明类型 eg:go 动态语言 :变量无需声明类型,eg: pyhon 5.注释 // 单行注释 /* 多行注释 */ 6.语法知识 // 第一行必须声明包名 package main // 导入fmt包 import "fmt" // 1.申明变量 // 局部变量必须先声明再使用,而且变量必须要使用

每日思考(2020/01/03)

怎甘沉沦 提交于 2020-01-07 04:49:54
题目概览 对影子(Shadow)DOM的了解 怎样修改自动填充表单的黄色背景? 对arguments的理解 题目解答 对影子(Shadow)DOM的了解 概念:是浏览器的一种能力,它允许在浏览器渲染文档(document)的时候向其中的 Dom 结构中插入一棵 DOM 元素子树,但是特殊的是,这棵子树(shadow-dom)并不在主 DOM 树中。可以想象成我们在 Vue 或者 React 中使用的一个个组件,是一种将 HTML 结构、Style 封装起来的结构。 <!--> 浏览器开发者设置里打开shodow DOM ,可以查看到video的shodow DOM<--> <video src="test"></video> 结构 document:就是我们的正常文档 document shadow host:对于一个内部有 shadow-dom 的元素而言,它必然需要一个宿主元素,对于上面的例子而言, video 标签,就是 shadow-dom 的宿主元素 shadow-root:通过 createShadowRoot (下文会提及) 返回的文档片段被称为 shadow-root 。它和它的后代元素,都将对用户隐藏,但是它们是实际存在的,在 chrome 中,我们可以通常审查元素去查看它们的具体 DOM 实现。在 video 中,例如暂停,播放,音量控制,全屏按钮,进度条等都是

0143 JavaScript预解析:概念、变量预解析、函数预解析、函数表达式声明函数问题、案例

心不动则不痛 提交于 2020-01-07 03:20:08
4.1 预解析的相关概念 JavaScript 代码是由浏览器中的 JavaScript 解析器来执行的。 JavaScript 解析器在运行 JavaScript 代码的时候分为两步:预解析 和 代码执行。 预解析:在当前作用域下, JS 代码执行之前,浏览器会默认把带有 var 和 function 声明的变量在内存中进行提前声明或者定义。 【提升到当前作用域的最顶部。】 代码执行: 从上到下执行JS语句。 预解析会把变量和函数的声明在代码执行之前执行完成。 【 声明提前,赋值留在原地 。】 4.2 变量预解析 预解析也叫做变量、函数提升。 变量提升(变量预解析): 变量的声明会被提升到当前作用域的最上面,变量的赋值不会提升。 console.log(num); // 结果是多少? var num = 10; // ? 结果:undefined 注意:**变量提升只提升声明,不提升赋值** 4.3 函数预解析 函数提升: 函数的声明会被提升到当前作用域的最上面,但是不会调用函数。 注意:`函数声明代表函数整体,所以函数提升后,函数名代表整个函数,但是函数并没有被调用!` fn(); function fn() { console.log('打印'); } 结果:控制台打印字符串 --- ”打印“ 4.4 函数表达式声明函数问题 函数表达式创建函数,会执行变量提升

谈谈PHP弱类型安全问题

风格不统一 提交于 2020-01-06 17:23:09
本篇文章小编想和大家谈谈PHP弱类型,PHP弱类型给程序员书写代码带来了很大的便利,但是任何事物都有两面性,现在随着小编一起了解一下吧。 0x00 弱类型初探 没有人质疑php的简单强大,它提供了很多特性供开发者使用,其中一个就是弱类型机制。 在弱类型机制下 你能够执行这样的操作 <?php $var = 1; $var = array(); $var = "string"; ?> php不会严格检验传入的变量类型,也可以将变量自由的转换类型。 比如 在$a == $b的比较中 $a = null; $b = false; //为真 $a = ''; $b = 0; //同样为真 然而,php内核的开发者原本是想让程序员借由这种不需要声明的体系,更加高效的开发。 所以在几乎所有内置函数以及基本结构 中使用了很多松散的比较和转换,防止程序中的变量因为程序员的不规范而频繁的报错,然而这却带来了安全问题。 0x02 知识预备 php内核之zval结构 在PHP中声明的变量,在ZE中都是用结构体zval来保存的 zval的定义在zend/zend.h typedef struct _zval_struct zval; struct _zval_struct { /* Variable information */ zvalue_value value; /* value */ zend

var a = {} 与 var a = function(){} 的区别

流过昼夜 提交于 2020-01-06 14:52:14
var a = {} 此时a是一个对象,是一个没有任何属性的对象。 var a = {'name':'object'} 此时a是一个对象,是一个有一个属性的对象,属性名为name,属性的值为object。 alert(a.name) 或者alert(a[name])的结果都是object,这是对象访问属性的两种方式。 var a = function(){} 此时a指向一个函数,相当于有一个函数,名为a,可以这么调用这个函数: a() 只不过这个函数什么都没有做。 var a = function(){ alert(1); } 此时a是一个函数,调用a()执行的是函数体,也就是 alert(1) 来源: https://www.cnblogs.com/zmwy/p/12151022.html

Delphi 小知识汇总

时光怂恿深爱的人放手 提交于 2020-01-06 05:07:05
一些delphi开发的小技巧2008-04-22 21:16这是我从网上收集到的一些delphi开发的小技巧,现在与大家一起分享 ◇[DELPHI]网络邻居复制文件 uses shellapi; copyfile(pchar('newfile.txt'),pchar('//computername/direction/targer.txt'),false); ◇[DELPHI]产生鼠标拖动效果 通过MouseMove事件、DragOver事件、EndDrag事件实现,例如在PANEL上的LABEL: var xpanel,ypanel,xlabel,ylabel:integer; PANEL的MouseMove事件:xpanel:=x;ypanel:=y; PANEL的DragOver事件:xpanel:=x;ypanel:=y; LABEL的MouseMove事件:xlabel:=x;ylabel:=y; LABEL的EndDrag事件:label.left:=xpanel-xlabel;label.top:=ypanel-ylabel; ◇[DELPHI]取得WINDOWS目录 uses shellapi; var windir:array[0..255] of char; getwindowsdirectory(windir,sizeof(windir));

原生js和jQuery常用方法对比

一曲冷凌霜 提交于 2020-01-06 04:41:58
1、元素获取 /*******************原生js**************************/ var ele = document.getElementById('idName'); var eleArr = document.getElementsByClassName('className'); var eleArr = document.getElementsByTagName('div'); var ele = document.querySelector('#idName');//('.className')//('tagName'); //取第一个满足条件的元素 var eleArr = document.querySelectorAll('.className');//('tagName'); /*******************jQuery**************************/ var ele = $('#idName'); var ele = $('.className:eq(0)'); //取第一个元素 var eleArr = $('tagName'); 2、class选择器操作 /*******************原生js**************************/ //className 属性

js消除图片小游戏

心不动则不痛 提交于 2020-01-06 00:47:19
<!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>js 连连看 </title> <style> * { margin: 0; padding: 0; } html, body { width: 100%; height: 100%; background: #222; overflow: hidden; } .wrapper { background-size: 100% 100%; margin: 10px auto; position: relative; /* border: 1px solid #f40; */ } .square { cursor: pointer; position: absolute; width: 80px; height: 80px; background-size: cover; } </style> </head> <body> <div class="wrapper"></div> <script> var