JavaScript中的各种小坑汇总】的更多相关文章

1.Number()将部分非数字类型转换为0 强制转换为数值类型函数: parseFloat.parseInt 优点:对非数值类型统一返回NaN 缺点:会将一部分符合数值类型的字符串也识别为数值 parseFloat("1")//1 parseFloat("1s")//1,不是想要的 parseFloat(null)//NaN parseFloat(undefined)//NaN parseFloat("")//NaN Number 优点:对于字…
一.字符串转JSON 在网络请求时,如果服务端返回的是字符串,那么就需要我们自己封装一个类,将请求下来的字符串转换成json对象,从而存入模型中. 注意: 字符串中如果含有一些特殊转意符(如\n.\t等),需要先对字符串进行处理. 示例代码如下: +(NSDictionary *)dictionaryWithJsonString:(NSString *)jsonString{ if (jsonString == nil) { return nil; } jsonString = [jsonStr…
react-router Link 标签不生效的问题 废话不多说, 直接上问题, 排解过程和答案 现象: 发现 使用 Link 标签没有 元素的样式和效果, 也不能进行跳转 代码如下: render() { return ( <div> <Router history={hashHistory}> <Route path="/" component={Home}/> <Route path="/page1" componen…
1.有时候你在本地跑的ECLIPSE中得到的正确的结果,部署到服务器上使用其他容器,如tomcat或WARS的时候,跑出的结果也许就不一致, 我们程序员会经常抱怨,在我机器上跑的好好的. 在不同的容器中,相同的代码有时候表现出不一致的结果,甚是需要注意,例如下面这个小例子. BeanFactoryContext.getWc().getServletContext().getRealPath("/"); 获取项目的基地址,这个代码是有效的. this.getClass().getReso…
在一段判断是否过期的js代码中是这么写的: if (new Date() < new Date(2014, 9, 25)) { //... } 后来发现过了9月25日竟然不过期,console.log打印一下new Date(2014, 9, 25)的值: Sat Oct 25 2014 00:00:00 GMT+0800 (CST) 竟然变成了10月25日!于是,判断是否过期的js代码形同虚设,永远也不会过期. 原来javscript中的new Date(year, month, day, h…
用于整理记录一些C语言下的小知识点: 1. 在C语言中,怎么查看一个数据类型占用了多少个字节大小呢? 可以使用sizeof(int)/sizeof(double)等来查看某数据类型到底用了几个字节: 注意:sizeof 它并不是一个函数,而是一个单目操作符, 2. 作用域: 全域变量:定义在函数之外的变量为全局变量: 它的作用域为:从定义开始,至文件最后: 对于全局变量,我们经常使用extern 关键字声明: 用extern声明的目的就是为了:1. 在不同文件之间使用某个文件的定义的全局变量:2…
前提说明: symfony 版本 4.1.*,使用  composer create-project symfony/website-skeleton  进行安装. 目标:在一个单元测试用例中对当前工程中的接口进行测试.使用PHPUnit. 坑1(发送请求使用 browser-kit): browser-kit 只能对当前的应用进行发送接口请求,而且请求是不经过 index.php 的. 这样导致的问题就是如果当前的应用都是按照官方的指导配置去配置的话,比如数据库连接配置在 .env 中,那么如…
我们经常在回调函数里面会遇到一些坑: var obj = { name: 'qiutc', foo: function() { console.log(this); }, foo2: function() { console.log(this); setTimeout(this.foo, 1000); } } obj.foo2(); 执行这段代码我们会发现两次打印出来的 this 是不一样的: 第一次是 foo2 中直接打印 this,这里指向 obj 这个对象,我们毋庸置疑: 但是在 setT…
(1)可变参数类型作为函数参数默认值,函数参数默认值的设置在Python中只会被执行一次,也就是定义该函数的时候. 解决办法,设置为None,然后判断 (2)Python中的变量名解析遵循所谓的LEGB原则,也就是“L:本地作用域:E:上一层结构中def或lambda的本地作用域:G:全局作用域:B:内置作用域”(Local,Enclosing,Global,Builtin),按顺序查找. 上述错误的出现,是因为当你在某个作用域内为变量赋值时,该变量被Python解释器自动视作该作用域的本地变量…
一:数组的常用方法: 1:join(); 将数组转为字符串显示.不输入参数,默认以逗号连接:输入参数,则以参数连接. var arr=[1,2,3]; console.log(arr.join()); // 1,2,3; console.log(arr.join("_")); // 1_2_3; console.log(arr); // [1,2,3]; 原数组不变. 2:reverse(); 将数组逆序排列,原数组被修改. var arr=[1,2,3]; var arr2=arr.…
最近在自个儿研究angular,在写一个demo的时候总是有问题,最后发现居然是大小写的问题,卧槽 特tm的坑爹了,代码如下: <!DOCTYPE html> <html lang="en" ng-app="myApp"> <head> <meta charset="UTF-8"> <title>Document</title> <link rel="styl…
js与原生进行数据交互,简单来说就是原生拦截js传到的数据 var u = navigator.userAgent; var isAndroid = u.indexOf('Android') > -1 || u.indexOf('Linux') > -1; //g var isiOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/); //ios终端 //事件触发后获取productID值,进行下边判断: if (isiOS === true) { wi…
1. mysql启动时,若使用mysqld_safe的方式启动服务,需要使用mysqladmin shutdown的方式来停止服务. 若使用mysqld shutdown的方式停止服务,有可能会出现如下报错:     InnoDB: Unable to lock ./ibdata1, error: 11    InnoDB: Check that you do not already have another mysqld process 原因推测为:mysqld_safe启动mysql服务之后…
js 数字操作:1.1 取整:取整有很多方法如: parseInt(a,10); Math.floor(a); a>>0; ~~a; a|0; 前面2种是经常用到的,后面3种算是比较偏的,因为其有不足之处,比如将下面代码放到 console 里测试: var num = 2150000000; console.log(num|0); console.log(parseFloat(num)) 你会发现问题;输出的是: -2144967296 2150000000 其原因就在于js数字存储的方式,…
很多朋友在使用SpringCloudGateway的时候可能都碰到过以下几个问题 SpringCloudGateway中如何读取Post请求体 private BodyInserter getBodyInserter(ServerWebExchange exchange) { ServerRequest serverRequest = new DefaultServerRequest(exchange); Mono<String> modifiedBody = serverRequest.bo…
在python脚本中,我们难免会需要用到自身文件所在的绝对路径,第一想法可能就是用os.path.dirname(__file__) 但是这里有个大坑,我就踩了,这种方式得到路径会出现问题,脚本执行报错!,于是用cmd运行脚本程序,打印错误显示得到的这种方式得到path居然是空字符串,这让我十分困扰,由于资料有限,对问题原因无法深究,后来再获取父级路径一律用os.getcwd(),从此爽歪歪~~~ 此外强调一点:直接打印__file__得到的是文件的绝对路径哦! 给个赞呗~…
1.invalid host in upstream报错 重新启动nginx : sudo /etc/init.d/nginx restart 原因是在配置负载均衡nginx.conf配置文件时,发现反向代理的proxy_pass里和负载均衡服务器列表都带了http://,而webservers就已经代表了服务器列表中的一个,所以只需在列表中的地址去除http://就可以. 2. KeyError: 'REQUEST_METHOD'报错 启动uwsgi时,报错如下: 原因是nginx配置参数的问…
std::vector::end, 是构想的下一个push_back位置,并不实际指向vector中任何元素. Returns an iterator referring to the past-the-end element in the vector container. The past-the-end element is the theoretical element that would follow the last element in the vector. It does n…
在 Java 等面向对象的语言中,this 关键字的含义是明确且具体的,即指代当前对象.一般在编译期确定下来,或称为编译期绑定.而在 JavaScript 中,this 是动态绑定,或称为运行期绑定的,这就导致 JavaScript 中的 this 关键字有能力具备多重含义,带来灵活性的同时,也为初学者带来不少困惑.本文仅就这一问题展开讨论,阅罢本文,读者若能正确回答 JavaScript 中的 What ’s this 问题,作为作者,我就会觉得花费这么多功夫,撰写这样一篇文章是值得的. Ja…
Java 等面向对象的语言中,this 关键字的含义是明确且具体的,即指代当前对象.一般在编译期确定下来,或称为编译期绑定.而在 JavaScript 中,this 是动态绑定,或称为运行期绑定的,这就导致 JavaScript 中的 this 关键字有能力具备多重含义,带来灵活性的同时,也为初学者带来不少困惑.本文仅就这一问题展开讨论,阅罢本文,读者若能正确回答 JavaScript 中的 What ’s this 问题,作为作者,我就会觉得花费这么多功夫,撰写这样一篇文章是值得的. Java…
JavaScript 语言中的 this 由于其运行期绑定的特性,JavaScript 中的 this 含义要丰富得多,它可以是全局对象.当前对象或者任意对象,这完全取决于函数的调用方式.JavaScript 中函数的调用有以下几种方式:作为对象方法调用,作为函数调用,作为构造函数调用,和使用 apply 或 call 调用.下面我们将按照调用方式的不同,分别讨论 this 的含义. 作为对象方法调用 在 JavaScript 中,函数也是对象,因此函数可以作为一个对象的属性,此时该函数被称为该…
今天使用vue 过滤器中发现一个小坑,网上查到的大都是不正确的解决方法,故分享给大家: 原错误代码: // 过滤器 filter:{ FdishList:function(value){ if (!value) return '' value = value.toString() return value.slice(1)+' ' } } 报错: [Vue warn]: Failed to resolve filter: 过滤器名 正确代码: // 过滤器 filters:{ FdishList…
在做一道剑指Offer的题的时候,有道题涉及到快排的思路,一开始就很快根据以前的思路写出了代码,但似乎有些细节不太对劲,自己拿数据试了下果然.然后折腾了下并记录下一些小坑,还有总结下划分方法partition的两种思路. partition思路1——交换思路 以待排序数组的第一个元素为基准值key,然后两个指针i和j,先从后面开始找(这个是个坑后面会总结)第一个比基准key小的数字,停下来,然后再从前面开始找第一个比基准key大的数字,停下来. 然后交换这两个指针的元素. 当两个指针相碰的时候,…
1.之前在度娘那找了一下关于javascript中可处理的浮点数的最高精度的问题,但找了好久也找不到,于是自己 小小的研究了一下,之前以为是17,后来测到18,再后来又测到19,经过一系列的改写,得到下面的相对完善的检测方案: <script> //返回数字数组中的最大值 function arrMax(arr) { return Math.max.apply({}, arr); } //10万个随机小数中的最大精度 function maxDec() { var arr = []; var…
在众多语言中,JavaScript已经占有重要的一席之地,利用JavaScript我们可以做很多事情 , 应用广泛.在web应用项目中,需要大量JavaScript的代码,将来也会越来越多.但是由于JavaScript是一个作为解释执行的语言,而且它的单线程机制,决定了性能问题是JavaScript的弱点,也是开发者在写JavaScript的时候需注意的一个问题,因为经常会遇到Web 2.0应用性能欠佳的问题,主因就是JavaScript性能不足,导致浏览器负荷过重. Javascript性能优…
(此文章同时发表在本人微信公众号"dotNET每日精华文章",欢迎右边二维码来关注.) 昨天家里有事,上网也不方便,就没有推送文章.今天很累,也不长篇大论了.简单介绍一下最近遇到的一个小坑. 我们知道,在C#中主要有如下几种数值类型:int.long.decimal.float和double.对于前三种,如果除零,那么会提示表达式错误(直接书写数字)或报DivideByZeroException异常(使用变量):对于后面两种,除零会得到正负无穷大,除非你是0.0/0.0那么会得到NaN…
在 Chrome 浏览器,大家可能遇到这样一个小问题. 随便输入一个 Object 对象  ,比如 {Name:'王尼玛',Age:20} ,将会报错.之前,也从来没去考虑过到底是为啥原因. 今天,刚好看到博客园有博友文章,顺便记录一下.( 直接输入 {Name:'王尼玛',Age:20},会将其以代码块情形进行处理) 在 JavaScript 中, : 有三种作用,想必大家都知道,其一  三元表达式  true? A:B,其二 在 switch case 中 case 语句中会用到,其三 就是…
使用EMMET写HTML的时候,是一个非常爽的事情.但是今天我使用时,发现一个小坑.以前倒也没有注意,不过需要非常的小心. form[action="/process" method ="POST"]>input 执行之后的效果: <form action="/process" method="" ="POST"><input type="text"><…
原文:javascript中event汇总 ie firefox chrome opera Safari浏览器中对 event的处理并不一致,在此我将各个浏览器中event的兼容处理做了一个汇总,此处引用的是javascript中的event兼容处理代码. var EventUtil = {//在这里我们用一个对象来将对event的各种兼容处理封装起来 //首先是对绑定事件的兼容 addHandler: function(element, type, handler){ if (element.…
10天没有写博客了,不知道为什么,心里感觉挺不舒服的,可能这是自己给自己规定要去完成的事情,没有按照计划执行,总会心里不怎么舒服.最近事情挺多的,终于今天抽空来更新一下博客了. 今天写的是一个小插件.平时我们习惯于使用javascript中自带的confirm()函数做出一个弹窗的效果,但是问题在于这样的弹窗非常不美观,大大降低了网页的整体效果. 好吧废话不多说,首先先来了解一下confirm()函数,下面应该注释得很清楚了. if(confirm("我们去阿里转山吧,好吗?")){/…