嗨,大家好,我有一个简单的函数和一个全局变量.
为什么
myname
undefined
不是字符串"global"
?
var myname = "global"; // global variable
function func() {
alert(myname); // "undefined"
var myname = "local";
alert(myname); // "local"
}
func();
Run Code Online (Sandbox Code Playgroud)
是不是可以引用在该函数范围之外定义的外部变量?在这个全局变量......
我如何解决这个问题,以便undefined
从全局变量中得到一个?
我很困惑如何将函数标记为泛型而没有类似的显式类型声明 ('a -> 'a)
let add a b = a + b
Run Code Online (Sandbox Code Playgroud)
这给了我们
val add : a:int -> b:int -> int
Run Code Online (Sandbox Code Playgroud)
但是我们可以立即打电话
add "Hello " "World!"
Run Code Online (Sandbox Code Playgroud)
现在add的值是
val add : a:string -> b:string -> string
val it : string = "Hello World!"
Run Code Online (Sandbox Code Playgroud)
如果我们再打电话
add 2 3 // then we get
error: This expression was expected to have type string but here has type int
Run Code Online (Sandbox Code Playgroud)
如何确保函数适用于所有已(+)
定义函数的类型
我在页面上有一个链接按钮.
<asp:LinkButton ID="edit" runat="server" OnClick="edit_Click" Enabled="False">??????</asp:LinkButton>
Run Code Online (Sandbox Code Playgroud)
我想在javascript中启用/禁用此功能.
我使用此代码但设置可见
var objedit = document.getElementById('<%= edit.ClientID.ToString() %>');
objedit.style.display = "none";
Run Code Online (Sandbox Code Playgroud)
我使用此代码但未启用
if (count == 1) {
objedit.disabled = false;
} else {
objedit.disabled = true;
}
Run Code Online (Sandbox Code Playgroud)
我可以点击但链接按钮是禁用的.
我试图在动态创建的父div中找到并附加一些文本,但它不起作用.这是我尝试过的.
var mainDiv = "" +
"<div>" +
"<div></div>" +
"<div>" +
"<div class='image-here'></div>" +
"</div>" +
"</div>"; // proper script is in Fiddle
var imageDiv = $(mainDiv).children(".image-here");
$(imageDiv).html("text allocated");
$(mainDiv).dialog();
Run Code Online (Sandbox Code Playgroud)
默认情况下,会写入fullpage.js的任何示例,以便在屏幕的最大高度和宽度(全屏幕)下渲染幻灯片.
但是,我试图在我的html页面中将幻灯片包含在一个固定大小的div中.我有一个固定高度和固定宽度的div,并希望fullpage.js幻灯片在该div内播放.我试过但是我无法将高度降低到规定的固定高度.固定宽度工作正常.
<div id="fullpage" style="height: 40px; max-height:200px; width: 500px;">
<div class="section " id="section0">
<div class="intro">
<h1>Responsive</h1>
<p>This example will turn to normal scroll when the window size gets smaller than 600px height</p>
</div>
</div>
<div class="section" id="section1">
<div class="slide" id="slide1">
<div class="intro">
<h1>Ideal for small screens</h1>
</div>
</div>
<div class="slide" id="slide2">
<h1>This example uses responsiveHeight: 600</h1>
</div>
</div>
<div class="section" id="section2">
<div class="intro">
<h1>Keep it simple!</h1>
</div>
</div>
</div>
Run Code Online (Sandbox Code Playgroud) 本地类型是指只能在特定函数中访问的类型
例如,假设我想获取一些数据,格式化它,并将其序列化为json.
let parse data = // hypothetical scenario
type Record = { root : string[] }
let record = { root = data }
JsonConvert.SerializeObject record
Run Code Online (Sandbox Code Playgroud)
似乎因为在其他任何地方都不需要这种类型.但是当我写这个时,我得到了编译错误.
有没有办法在F#中获得类似的功能?
C#属性是我在交流家庭语言中发现的最具表现力的工具之一.我的问题是为什么"支持"字段不能在属性块内?什么理由不被允许?
public int Salary //Compile error
{
int salary = 1000;
get {} //custom use of salary
set {}
}
Run Code Online (Sandbox Code Playgroud)
我发现做以下事情相当笨重
int salary = 1000; //poor encapsulation but working code
public int Salary
{
get {} //edit the private field salary
set {}
}
Run Code Online (Sandbox Code Playgroud)
我通过使用以下模式记忆属性来完成一些代码的优化
int field;
bool flag = false;
public int Field
{
get
{
if (flag)
return field;
flag = true;
return field = expensiveOperation();
}
}
Run Code Online (Sandbox Code Playgroud)
我真的想将这些变量移动到属性的范围内,因为它们没有理由在实例的范围内
public int Field //compile error
{
int field;
bool …
Run Code Online (Sandbox Code Playgroud) 我有一些F#代码可以缓存结果以供将来查找.我的理解是你添加的词典和其他数据结构需要副作用.(即改变字典的状态)这是正确的吗?这被认为是不纯的还是仍然在无副作用计算的模型中.
let rec fib =
let dict = new System.Collections.Generic.Dictionary<_,_>()
fun n ->
match dict.TryGetValue(n) with
| true, v -> v
| false, _ ->
let fibN =
match n with
| 0 | 1 -> n
| _ -> fib (n - 1) + fib(n - 2)
dict.Add(n, fibN)
fibN
Run Code Online (Sandbox Code Playgroud) 我正在努力制作一个角度的文档生成工具,我正在挑战我如何允许用户动态创建内容.
我想要创建的组件可能有任意模型和行为,所以我认为我不能使用共享组件.
我正在描述的组件在编译时不存在.
我看到一些用于渲染动态组件的文档.然而它提到,你必须在列出的"动态"部分entryComponents
中ngModule
.这对我的方案不起作用.
是否有另一种机制来实现这种效果?
我正在使用Java开发一个小游戏.我的应用程序有一个主JFrame,可以通过单击JButton创建另一个Window(游戏窗口).我已经单独测试了我的游戏窗口,一切都很好.
这是我的游戏窗口构造函数:
public GameWindow(final GameController controller)
{
super("Boulder Dash Game");
this.controller = controller;
this.controller.registerObserver(getCurrentFrame());
this.gamePanel = new GamePanel(controller);
this.frameWidth = controller.getColumns() * 16;
this.frameHeight = controller.getRows() * 16 + 76;
getContentPane().add(gamePanel, BorderLayout.CENTER);
setSize(frameWidth, frameHeight);
setResizable(false);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);
controller.startGame();
}
Run Code Online (Sandbox Code Playgroud)
controller.startGame()方法启动游戏循环.当我直接从我的主要开始这个窗口时,游戏循环工作正常.
现在,我想从我的主框架启动这个GameWindow框架.这是我的主框架中的代码:
playButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(final @Nullable ActionEvent e)
{
String selectedItem = (String) levelsComboBox.getSelectedItem();
assert selectedItem != null;
controller.lauchGame(selectedItem);
}
});
Run Code Online (Sandbox Code Playgroud)
controller.launchGame(String selectedItem)是一种用于加载游戏关卡并启动游戏窗口的方法.这是代码
public void lauchGame(final String levelQueried)
{
assert levelQueried != null;
Level level = LevelRepository.load(levelQueried); …
Run Code Online (Sandbox Code Playgroud) javascript ×4
f# ×3
jquery ×2
types ×2
angular ×1
asp.net ×1
c# ×1
coding-style ×1
compile-time ×1
css ×1
dynamic ×1
fullpage.js ×1
function ×1
generics ×1
hoisting ×1
html ×1
java ×1
memoization ×1
properties ×1
scope ×1
side-effects ×1
swing ×1