var函数

七、字符串

狂风中的少年 提交于 2019-12-26 20:29:27
字符串的所有方法都是在调用JS为字符串提供的函数,都会返回一个新的结果,对原字符串没有影响 字符串的下标也是从0开始,表示字符串中的第一个字符 1、length属性 获取字符串的长度(单个字符的数量) var str1 = "hello world" var str2 = 'abc' console.log(str1.length) // 11 (空格也会被解析计算机成0和1组成的二进制数) 2、charAt() 获取字符串中指定位置的字符 (charAt是字符串的一个方法,拥有返回值) var res1 = str1.charAt(0) console.log(res1) // h 3、concat() 连接2个字符串,返回值为新的字符串 var res2 = str1.concat(str2) console.log(res2) // hello worldabc 4、indexOf() 返回某个字符在字符串中首次出现的位置 var res3 = str1.indexOf('o') console.log(res3) // 4 5、lastIndexOf() 返回某个字符在字符串中最后一次出现的位置 var res4 = str1.indexOf(‘o’) console.log(res4) // 7 6、replace() 替换指定的字符串,返回一个新的字符串 (只替换第一个

JS的replace方法

孤街浪徒 提交于 2019-12-26 17:08:37
replace() 方法的参数 replacement 可以是函数而不是字符串。在这种情况下,每个匹配都调用该函数,它返回的字符串将作为替换文本使用。该函数的第一个参数是匹配模式的字符串。接下来的参数 是与模式中的子表达式匹配的字符串,可以有 0 个或多个这样的参数。接下来的参数是一个整数,声明了匹配在 stringObject 中出现的位置。最后一个参数是 stringObject 本身。 下文展示了几种javascript正则表示式的repalce方式,有些方式我们很少在别的地方看到,如第二种和第三方中方法。 //下面的例子用来获取url的两个参数,并返回urlRewrite之前的真实Url var reg = new RegExp ( "(http://www.qidian.com/BookReader/)(\\d+),(\\d+).aspx" , "gmi" ); var url = "http://www.qidian.com/BookReader/1017141,20361055.aspx" ; //方式一,最简单常用的方式 var rep = url.replace(reg , "$1ShowBook.aspx?bookId=$2&chapterId=$3" ); alert(rep); //方式二 ,采用固定参数的回调函数 var rep2 = url

PHP中global与$GLOBALS['']的区别

大兔子大兔子 提交于 2019-12-26 14:52:18
很多人都认为global和$GLOBALS[]只是写法上面的差别,其实不然。 根据官方的解释是 $GLOBALS['var'] 是外部的全局变量$var本身。 global $var 是外部$var的同名引用或者指针。(错误:是个别名引用而已,非指针!!!) 举例说明一下: <?php $var1 = 1; $var2 = 2; function test() { $GLOBALS['var2'] = &$GLOBALS['var1']; } test(); echo $var2; ?> 正常打印结果为1 <?php $var1 = 1; $var2 = 2; function test(){ global $var1, $var2; $var2 = &$var1; echo $var2; $var2 = 'snsgou.com'; } test(); // 输出 1 echo $var2; // 输出 2 echo $var1; // 输出 snsgou.com ?> test()函数中的$var1,$va2都是局部变量,只不过是加了global关键字后,分别引用指向全局变量$var1,$va2了,当 $var2 = &$var1; 时,局部变量$var2不再指向全局变量$val2,而重新指向全局变量$var1,换句话来说,局部变量$var2的改变,不会再影响到全局变量$val2

$_GLOBALS超全局数组和global定义的全局变量区别?

时光怂恿深爱的人放手 提交于 2019-12-26 14:50:36
全局变量:主程序中定义的变量(函数外部),只能在主程序中使用,在函数内部不能调用     背景:解决在函数内部调用全局变量的问题 解决方法:   1.在函数内部声名全局变量    <?php public $var=1; function fun(){global $var; echo $var; } ?> 输出 1   2.使用$GLOBALS超全局数组 <?php $var=1; function fun(){ echo $GLOBALS['var']; } fun(); ?> 输出 1 原理分析:   $GLOBALS['var']是外部的 全局变量本身   global $var 是对外部$var的同名变量的引用或者指针 ,并不是真正的赋值 验证: <?php $var1 = 1; function test(){ global $var1; unset($var1); } test(); echo $var1; ?> 输出1    说明删除的只是函数内部的变量(即对外部变量别名的引用),外部的变量不影响 再如:    <?php $var1 = 1; function test(){ unset($GLOBALS['var1']); } test(); echo $var1; ?> 无输出   变量不存在 把全局变量给删除了 深入剖析:    <?php function

补充JavaScript

别来无恙 提交于 2019-12-26 07:26:59
1 JavaScript概述 1.1 ECMAScript和Javascript的关系   1996年11月,JavaScript的创造者--Netscape公司,决定将JavaScript提交给国际标准化组织ECMA,希望这门语言能够成为国际标准。次年,ECMA发布262号标准文件(ECMA-262)的第一版,规定了浏览器脚本语言的标准,并将这种语言称为ECMAScript,这个版本就是1.0版。   该标准一开始就是针对JavaScript语言制定的,但是没有称其为JavaScript,有两个方面的原因。一是商标,JavaScript本身已被Netscape注册为商标。而是想体现这门语言的制定者是ECMA,而不是Netscape,这样有利于保证这门语言的开发性和中立性。   因此ECMAScript和JavaScript的关系是,前者是后者的规格,后者是前者的一种实现。 1.2 ECMAScript的历史 注:ES6就是指ECMAScript 6。 尽管 ECMAScript 是一个重要的标准,但它并不是 JavaScript 唯一的部分,当然,也不是唯一被标准化的部分。实际上,一个完整的 JavaScript 实现是由以下 3 个不同部分组成的: 核心(ECMAScript) 文档对象模型(DOM) Document object model (整合js,css,html)

javascript高级编程

烂漫一生 提交于 2019-12-25 22:44:35
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>无标题文档</title> <script type="text/javascript"> var array=[1,2,3,4,5,6]; var arr=array.map(function(item){ return item*2; }); alert(arr[0]);// 2 ------------------------------------------------ /////变量的作用域 var variable="out"; function func() { variable="in"; alert(variable); } func(); // 打印"in" alert(variable); // 打印"in" -----------------------------

JavaScript 究竟是怎样执行的?

假装没事ソ 提交于 2019-12-25 22:23:54
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 摘要: 理解 JS 引擎运行原理。 作者:前端小智 原文: 搞懂 JavaScript 引擎运行原理 Fundebug 经授权转载,版权归原作者所有。 一些名词 JS 引擎 — 一个读取代码并运行的引擎,没有单一的“JS 引擎”;每个浏览器都有自己的引擎,如谷歌有 V。 作用域 — 可以从中访问变量的“区域”。 词法作用域 — 在词法阶段的作用域,换句话说,词法作用域是由你在写代码时将变量和块作用域写在哪里来决定的,因此当词法分析器处理代码时会保持作用域不变。 块作用域 — 由花括号{}创建的范围 作用域链 — 函数可以上升到它的外部环境(词法上)来搜索一个变量,它可以一直向上查找,直到它到达全局作用域。 同步 — 一次执行一件事, “同步”引擎一次只执行一行,JavaScript 是同步的。 异步 — 同时做多个事,JS 通过 浏览器 API 模拟异步行为 事件循环(Event Loop) - 浏览器 API 完成函数调用的过程,将回调函数推送到回调队列(callback queue),然后当堆栈为空时,它将回调函数推送到调用堆栈。 堆栈 —一种数据结构,只能将元素推入并弹出顶部元素。 想想堆叠一个字形的塔楼; 你不能删除中间块,后进先出。 堆 — 变量存储在内存中。 调用堆栈 — 函数调用的队列

前端基础之JavaScript

微笑、不失礼 提交于 2019-12-25 19:04:45
JavaScript概述 ECMAScript和JavaScript的关系 1996年11月,JavaScript的创造者--Netscape公司,决定将JavaScript提交给国际标准化组织ECMA,希望这门语言能够成为国际标准。次年,ECMA发布262号标准文件(ECMA-262)的第一版,规定了浏览器脚本语言的标准,并将这种语言称为ECMAScript,这个版本就是1.0版。 该标准一开始就是针对JavaScript语言制定的,但是没有称其为JavaScript,有两个方面的原因。一是商标,JavaScript本身已被Netscape注册为商标。而是想体现这门语言的制定者是ECMA,而不是Netscape,这样有利于保证这门语言的开发性和中立性。 因此ECMAScript和JavaScript的关系是,前者是后者的规格,后者是前者的一种实现。 ECMAScript的历史 年份 名称 描述 1997 ECMAScript 1 第一个版本 1998 ECMAScript 2 版本变更 1999 ECMAScript 3 添加正则表达式 添加try/catch ECMAScript 4 没有发布 2009 ECMAScript 5 添加"strict mode"严格模式 添加JSON支持 2011 ECMAScript 5.1 版本变更 2015 ECMAScript 6

Js es6中扩展运算符(...)

僤鯓⒐⒋嵵緔 提交于 2019-12-25 15:38:46
拓展运算符,是es6一个很好的特性,它们可以通过减少赋值语句的使用,或者减少通过下标访问数组或对象的方式,使代码更加简洁优雅,可读性更佳。下面我将列出拓展运算符的主要应用场景,以及相关知识。 1、在函数调用时使用拓展运算符。 以前如果我们想将数组元素迭代为函数参数使用,一般使用Function.prototype.apply的方式。 function myFunction(x, y, z) { console.log(x+""+y+""+z); } var args = [0, 1, 2]; myFunction.apply(null, args); 有了展开语法,我们可以这样写。 function myFunction(x, y, z) { console.log(x+""+y+""+z); } var args = [0, 1, 2]; myFunction(...args); 提示: ...arr返回的并不是一个数组,而是各个数组的值。只有[...arr]才是一个数组,所以...arr可以用来对方法进行传值 2、数组和对象的拷贝。 var arr1 = [1,2,3]; var arr2 = [...arr1]; arr2.push(4); console.log(arr1 === arr2); // false console.log(arr1); // [1,2,3]

PHP 调试函数

孤街浪徒 提交于 2019-12-25 08:26:14
目录 1、查看内存量 2、打印变量 1、查看内存量 var_dump(memory_get_usage(true)); //如果设置为 TRUE ,获取系统分配总的内存尺寸,包括未使用的页。如果未设置或者设置为 FALSE ,仅仅报告实际使用的内存量 2、打印变量 var_dump($var); //此函数显示关于一个或多个表达式的结构信息,包括表达式的类型与值。数组将递归展开值,通过缩进显示其结构。 print_r($var); //以易于理解的格式打印变量,可以设置第二个参数为TRUE,直接返回而不打印输出。 var_export($var); // 默认等于var_dump,第二个参数为TRUE时,直接返回结构字符串而不打印输出。 3、 来源: CSDN 作者: ppxin 链接: https://blog.csdn.net/ppxin/article/details/103686513