var函数

krp的急速预览

匿名 (未验证) 提交于 2019-12-03 00:18:01
<!DOCTYPE html> <html> <head> <title>Pano Viewer</title> <meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, viewport-fit=cover" /> <meta name="apple-mobile-web-app-capable" content="yes" /> <meta name="apple-mobile-web-app-status-bar-style" content="black" /> <meta http-equiv="Content-Type" content="text/html;charset=utf-8" /> <meta http-equiv="x-ua-compatible" content="IE=edge" /> <style> @-ms-viewport { width:device-width; } @media only screen and (min-device-width:800px) { html { overflow:hidden; } } html { height:100%; } body {

javascript常用方法 - Array

こ雲淡風輕ζ 提交于 2019-12-03 00:18:01
//1.Aarry方法 // 1.1 Array.from(arrayLike[, mapFn[, thisArg]]) // @arrayLike 想要转换成数组的伪数组对象或可迭代对象。 // @mapFn 如果指定了该参数,新数组中的每个元素会执行该回调函数。 // @thisArg 可选参数,执行回调函数 mapFn 时 this 对象。 // 浅拷贝:从一个类似数组或可迭代对象创建一个新的,浅拷贝的数组实例。 console.log(Array.from('foo')); // expected output: Array ["f", "o", "o"] console.log(Array.from([1, 2, 3], x => x + x)); // expected output: Array [2, 4, 6] // Array.isArray(obj) // 于确定传递的值是否是一个 Array // Array.of(element0[, element1[, ...[, elementN]]]) // 创建一个具有可变数量参数的新数组实例,而不考虑参数的数量或类型。 Array.of(7); // [7] Array.of(7) 创建一个具有单个元素 7 的数组 Array.of(1, 2, 3); // [1, 2, 3] Array(7); // [ ,

Cesium学习笔记-工具篇20-PrimitiveTexture自定义渲染-贴图【转】

匿名 (未验证) 提交于 2019-12-03 00:16:01
前几篇博客我们了解了自定义点、线、面绘制,这篇我们接着学习cesium自定义纹理贴图。我们完成点线面的绘制,只是绘制出了对象的框架,没有逼真的外观。逼真外观是需要设置材质来实现:Material 。 再次查看appearance对象: image.png 属性里面的material就是设置对象的材质,查看material: image.png 我们发现,cesium提供很多材质接口,如果要自定义设置纹理贴图,我们使用fabric接口定义自己材质。 首先看cesium给出的demo: image.png 我们看到在uniforms属性设置通过type设置类型、通过uniforms设置对应值。 1、首先我们新加着色代码,设置材质: image.png 2、修改顶点着色器代码: image.png 3、修改片源着色器源码: image.png 4、修改CreateGeometry函数。这里,我们看到将颜色换成了UV坐标: image.png 5、修改CreateAppearence函数,在uniform的url关联纹理: image.png 直接上示例源码(因为我也不知道为何这样写): var viewer = new Cesium.Viewer('cesiumContainer'); //封装PrimitiveTexture var PrimitiveTexture= (

JS预解析与变量提升

匿名 (未验证) 提交于 2019-12-03 00:14:01
预解析 JavaScript代码的执行是由浏览器中的JavaScript解析器来执行的。JavaScript解析器执行JavaScript代码的时候,分为两个过程:预解析过程和代码执行过程 预解析过程: 把变量的声明提升到当前作用域的最前面,只会提升声明,不会提升赋值。 把函数的声明提升到当前作用域的最前面,只会提升声明,不会提升调用。 先提升var,在提升function。 JavaScript的执行过程 // 案例1 var a = 25 ; function abc () { alert ( a ); var a = 10 ; } abc (); // 案例2 console . log ( a ); function a () { console . log ( 'aaaaa' ); } var a = 1 ; console . log ( a ); 变量提升 变量提升 定义变量的时候,变量的声明会被提升到作用域的最上面,变量的赋值不会提升。 函数提升 JavaScript解析器首先会把当前作用域的函数声明提前到整个作用域的最前面 // 1、----------------------------------- var num = 10 ; fun (); function fun () { console . log ( num ); var num = 20 ; }

js基础-函数-var和let的区别

匿名 (未验证) 提交于 2019-12-03 00:14:01
1995年,Netscape公司是凭借Navigator浏览器成为当时第一代互联网公司。 网景公司希望在HTML界面上加一点动态效果,于是叫Brendan Erich这个员工设计一下,结果他只用了10天的时间。 为啥叫javaScript呢?因为当时java很火,想要借由它的名气,其实这两个语言就语法有点类似,其他没有关系。 ECMAScript ECMA(European Computer Manufacturers Association)欧洲计算机制造商协会组织定制了JavaScript语言的标准,被称为ECMAScript标准。 ECMAScript和javaScript的区别 所以简单说来就是,ECMAScript是一种语言标准,而JavaScript是网景公司对ECMAScript标准的一种实现。 ECMAScript的历史 1996.11 Netscape公司决定将JavaScript提交给ECMA组织 1997 ECMA组织发布ES1.0版本 1998.6 发布ES2.0版本 1999.12 发布ES3.0版本 是一个巨大的成功,获得广泛支持 2000 ES4.0开始酝酿,但没有通过,大部分内容被ES6.0继承 ES6.0指定的起点是2000年 2007.10 ES4.0草案发布 发生了严重分歧 2008.7 各方分歧太大,决定终止ES4.0开发

js递归遍历树结构(tree)

匿名 (未验证) 提交于 2019-12-03 00:14:01
如图: 代码: var treeList = []; //树结构数据 function forTree(treeList) { //遍历树函数 for (var i in treeList) { //循环遍历树 if (treeList[i].children) { //如果遍历树结构还有下一级-做操作 } else { //如果没有下一级做相应操作 return; } } } 来源:博客园 作者: 李广宁博客 链接:https://www.cnblogs.com/lgnblog/p/11652023.html

var let const 的区别

匿名 (未验证) 提交于 2019-12-03 00:13:02
1、var【声明变量】   var 没有块的概念,可以跨块访问,无法跨函数访问; 2、let【声明块中的变量】   let 只能在块作用域里访问,不能跨块访问,也不能跨函数访问; 3、const【声明常量、一旦赋值不可更改】   const 只能在块作用域里访问,而且不能修改值 <script> console . log ( '1、var定义的变量可以修改,如果不初始化会输出undefined,不会报错' ); var a = 1 ; // var a;//不会报错 console . log ( '函数外var定义a:' + a ); //可以输出a=1 function change () { a = 4 ; console . log ( '函数内var定义a:' + a ); //可以输出a=4 } change (); console . log ( '函数调用后var定义a为函数内部修改值:' + a ); //可以输出a=4 console . log ( '----------------------------------' ); console . log ( '2、let是块级作用域,函数内部使用let定义后,对函数外部无影响' ); let c = 3 ; console . log ( '函数外let定义c:' + c ); //输出c=3

面试题汇总 JS(ES6)

匿名 (未验证) 提交于 2019-12-03 00:12:02
一、新增数据类型Symbol   概念:     Symbol代表独一无二的     Symbol类型的值通过Symbol函数来生成,同时Symbol函数返回的值的唯一的     Symbol函数可以接收字符串作为参数,但是即使相同参数返回的值也是唯一的   作用:     属性私有化     数据保护 //没有参数的情况 var s1 = Symbol (); var s2 = Symbol (); s1 === s2 ; //false //有参数的情况 var s1 = Symbol ( "foo" ); var s2 = Symbol ( "foo" ); s1 === s2 ; //false var mySymbol = Symbol (); //第一种写法 var a ={}; a [ mySymbol ]= "Hello!" ; //第二种写法 var a ={ [ mySymbol ]: "Hello!" }; //第三种写法 var a ={}; Object . defineProperty ( a , mySymbol ,{ value : "Hello!" }); //枚举symbol的key值 Object . getOwnPropertySymbols ( obj ); //注意:Symbol作为对象的key值不能被fon in进行遍历 二、块级作用域

JS JSONP 函数封装

匿名 (未验证) 提交于 2019-12-03 00:11:01
转载自 https : //my.oschina.net/shuaihong/blog/1542554 myJsonp = function ( url , data , callback ){ var fnName = 'myJsonp_' + Math . random (). toString (). replace ( '.' , '' ); //定义一个全局回调函数 window [ fnName ] = callback ; //初始化序列化参数 var querystring = '' ; for ( var attr in data ){ querystring += attr + '=' + data [ attr ] + '&' ; } //动态创建script标签 var script = document . createElement ( 'script' ); //后台接受回调函数,并调用 script . src = url + '?' + querystring + 'callback=' + fnName ; //处理完毕之后,删除script标签,否则多次请求,页面会存在多个script标签 script . onload = function (){ document . body . removeChild ( script ); }

实现一个extend函数

匿名 (未验证) 提交于 2019-12-03 00:09:02
NOW,今天让我们来实现一个extend函数。 具体思路: 使用Object.defineProperty()对属性的特性进行设置,然后通过Object.getOwnPropertyDescriptor()获取到属性描述符,并赋值给新创建的对象 下面我们把代码拉出来溜溜 Object.defineProperty(Object.prototype, "extend", { writable: true, enumerable: false, configurable: true, value: function(o){ // 获取所有的自有属性 var names = Object.getOwnPropertyNames(o); for(var i =0;i< names.length;i++){ // 如果属性已存在则跳过 if(names[i] in this) continue; // 获取该属性的属性描述符ss var desc = Object.getOwnPropertyDescriptor(o,names[i]); Object.defineProperty(this,names[i],desc) } } } ) 使用示例: // 定义一个新对象 var a = { itemA: 1 } // 新建一个属性,并设置属性描述符 Object.defineProperty