我正在尝试使用TypeScript,并且在创建一个具有应该是整数的"ID"字段的类的过程中,我有点困惑.
首先,在使用TypeScript插件的Visual Studio 2012中,我在intelliSense类型列表中看到"int".但是我得到一个编译错误,说"当前范围中不存在名称'int'".
我查看了语言规范,只看到以下原始类型:number,string,boolean,null和undefined.没有整数类型.
所以,我有两个问题:
我应该如何向我的班级用户表明某个特定字段不仅仅是一个"数字"而是一个整数(从不是浮点数或十进制数)?
如果它不是有效类型,为什么我会在intellisense列表中看到"int"?
更新:到目前为止我得到的所有答案都是关于JavaScript如何没有int类型,在运行时很难强制执行int类型......我知道这一切.我问是否有一种TypeScript方式为我的类用户提供一个注释,该字段应该是一个整数.也许某些特定格式的评论?
PHP iconv()和mb_convert_encoding()PHP 之间的区别是什么?一个人表现得更好,更快,等等(例如,使用特定的编码)?在什么情况下,一个人比另一个人更受欢迎?
这是我认为我已经知道的:
的iconv()
mb_convert_encoding()
HTML-ENTITIES,转换为和来自Web十六进制代码.还有其他差异吗?
我正在使用JSHint for Visual Studio.JSHint发出关于我知道可以忽略的问题的警告并不罕见.我一直// ignore jslint在使用相关的行,但我发现我们也可以忽略特定的错误代码.从1.0.0 rc1发行说明:
此版本为JSHint生成的每个警告和错误消息添加唯一的数字代码.这意味着您现在可以忽略JSHint产生的任何警告,即使没有相应的选项.您可以使用特殊的减号( - )运算符来完成此操作.例如,以下是忽略有关尾随小数点的所有消息的方法(W047):
/*jshint -W047*/
看起来很酷,但尽可能尝试,我找不到所有错误代码的列表.Visual Studio的警告列表不提供数字错误代码,只提供错误文本.
当然这个名单出现在某个地方,对吧?我真的花了一个小时谷歌搜索.但到目前为止没有成功.
的:含有() jQuery选择可以让您找到匹配包含文本的指定的字符串的元素.我想要做的似乎是相关的:我正在为用户提供一个他们可以输入的"过滤器"文本框,我有一组列表项.
我想让所有不包含用户在文本框中输入的文本的列表项在键入时隐藏.
我可以在文本框上听取keyup事件,但我不知道如何做两件事:
我发现我可以使用.filter(函数(索引)),但我想知道我是否过度思考这个问题 - 有没有办法用jQuery内置的选择器/函数来完成这个?
如果您查看font-awesome的示例,您将看到它们始终使用该i元素.我认为该span元素将是一个更合适的选择,因为该i元素旨在修改"文本范围".,但我想要做的是在页面上放置一个字形,而不是修改现有文本.
您可以认为span元素也用于修改文本范围(因此名称),但W3C定义使其大开 - 只需说明span" 与其他属性一起使用时非常有用 ".
但是,我的问题并不是关注两个标签的语义,而是关注一个标签相对于另一个标签的用户体验含义.在我的测试中,span作品同样如此i.是否有一个优于另一个的具体原因?具体原因的例子包括:
我有一个现有的Visual Studio项目,它被设置为"Web站点"项目.您可以通过转到文件 - >新建网站来创建这样的项目.这是一种与"Web应用程序项目"不同的项目类型.
我想在这个项目中混合一些TypeScript.但是,我无法弄清楚如何指示Visual Studio"构建"我的.ts文件并生成.js文件.我有VS2012 TypeScript插件,我可以创建一个TypeScript项目,如此处所述.该项目工作正常,但更像是"Web应用程序项目".它与"网站项目"不同,是一种不同的项目类型.
此外,当我创建.ts文件时,在该文件中,编辑器为我提供了TypeScript语法高亮和智能感知.但同样,我无法弄清楚如何将TypeScript编译为JavaScript.
一点帮助?
我遇到了一个奇怪的间歇性问题,Chrome Developer工具挂在旧版本的JavaScript文件上.我将开发一些JS应用程序,只是找到的东西,然后突然我的JavaScript文件将从"源"选项卡上的JavaScript文件列表中消失.这是我第一个发现错误的线索.
我最终发现Chrome Developer Tools显然是挂在旧版本的JavaScript文件上.Chrome本身正在从服务器请求并执行最新版本,但您无法调试JavaScript文件.
我向自己"证明"这是通过获取从我的源列表中消失的特定JavaScript文件并用一行console.log语句替换它而发生的事情.
然后我重新加载页面,并注意到console.log语句出现在JavaScript控制台中.我还在网络选项卡中注意到JavaScript文件已成功检索,并且通过网络传输的内容只包含一行console.log语句.
但是,JavaScript文件仍未出现在源列表中,如果我在控制台中单击文件名(它出现在控制台的右侧,在记录的语句旁边),那么我跳转到源选项卡,并打开旧版本的JavaScript文件.
此JavaScript文件通过常规<script>标记加载到页面上.它不是通过其他脚本动态加载,也不是通过eval加载.只是一个简单的vanilla <script>标记,指向Web服务器上的.js文件.
我试过了:
这些都没有改变这种行为.如果你不相信我,你可以在这里观看一个展示这个的视频!
我认为这是一个Chrome问题,因为我可以在没有这个问题的情况下使用Firefox ......但我真的很喜欢Chrome和Chrome的开发者工具:-)所以我想让它在Chrome中运行...
更新我在此处将此报告为Chrome错误.如果此错误对您有影响,或对您很重要,请将其投票和/或添加评论以及其他信息.
对于过去的速成版,我已经能够找到一个"比较版本"页面,显示哪些功能是提供快递,专业版,旗舰版等事情是这样.
但是,到目前为止我看到的每个比较表都省略了快速版本.当然,微软必须列出从Express Edition升级到Visual Studio Professional所得到的东西 - 毕竟,它是免费产品,他们希望你升级到付费产品!那么,他们在哪里隐藏了这个功能比较表,或"升级到专业"的原因列表?
该UriBuilder.Query属性"包含URI中包含的任何查询信息." 根据文档,"查询信息根据RFC 2396进行转义."
基于此,并且由于此属性是可写的,我假设在设置它时,System.UriBuilder将解析您的查询字符串,并根据RFC 2396转义(url编码).特别是,{和}不在非保留字符集中,所以他们应该根据RFC 2396的第9页进行转义.但是,似乎System.UriBuilder没有做任何逃避.
我是否需要手动Server.URLEncode params,还是有办法System.UriBuilder处理编码?
这是我的示例代码.你可以在ideone.com上运行它,看看确实没有URL编码.
using System;
public class Test
{
public static void Main()
{
var baseUrl = new System.Uri("http://www.bing.com");
var builder = new System.UriBuilder(baseUrl);
string name = "param";
string val = "{'blah'}";
builder.Query = name + "=" + val;
// Try several different ouput methods; none will be URL encoded
Console.WriteLine(builder.ToString());
Console.WriteLine(builder.Uri.ToString());
Console.WriteLine(builder.Query);
}
}
Run Code Online (Sandbox Code Playgroud) 我一直在对Symfony 2中的脚手架进行搜索,并继续寻找"发电机"的引用,但到目前为止还没有能够得到脚手架和工作.
通过"scaffolding",我指的是一种将工具指向数据库并让它生成视图/表单以执行CRUD操作的方法.
这对于快速构建原型,和/或为某些数据库表构建粗略的管理工具非常有用.
它还可以为您正在构建的某种形式提供起点.
这在Symfony2中可能吗?
javascript ×3
php ×2
typescript ×2
.net ×1
c# ×1
css ×1
font-awesome ×1
html ×1
jquery ×1
jshint ×1
jslint ×1
symfony ×1