小编car*_*995的帖子

关于javascript BOM问题只是一个小问题

问题是:

创建一个包含许多链接的页面.然后编写在窗口onload事件上触发的代码,显示页面上每个链接的href.

这是我的解决方案

<html>
<body language="Javascript" onload="displayLink()">
<a href="http://www.google.com/">First link</a>
<a href="http://www.yahoo.com/">Second link</a>
<a href="http://www.msn.com/">Third link</a>

<script type="text/javascript" language="Javascript">
function displayLink()
{
 for(var i = 0;document.links[i];i++)
 {
 alert(document.links[i].href);
 }
}
</script>

</body>
</html>
Run Code Online (Sandbox Code Playgroud)

这是本书提供的答案

<html>
<head>
<script language=”JavaScript” type=”text/javascript”>
function displayLinks()
{
 var linksCounter;
 for (linksCounter = 0; linksCounter < document.links.length; linksCounter++)
 {
  alert(document.links[linksCounter].href);
 }
}
</script>
</head>
<body onload=”displayLinks()”>
<A href=”link0.htm” >Link 0</A>
<A href=”link1.htm”>Link 2</A>
<A href=”link2.htm”>Link 2</A>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

在我进入关于如何检查用户浏览器版本或模型的javascript教程之前,我使用与示例相同的方法,通过访问循环lengthlinks数组属性,但是在我阅读完本教程之后,我发现了我也可以使用这种替代方法,通过使用只有在document.links[i]返回有效值时测试条件将评估为true的方法,我的代码是否使用有效方法编写?如果不是,则有关如何编写的任何注释一个更好的代码??纠正我,如果我错了,我听到一些人说"一个好的代码不仅仅评估它是否有效,而是在速度,理解代码的能力,以及可能可以让其他人轻松地理解代码".这是真的吗?

javascript

1
推荐指数
1
解决办法
193
查看次数

C函数调用作为测试条件

几天前我脑子里出现了一个奇怪的想法,即if();以一种奇怪的方式操纵语句.让我们继续简单的代码.

代码 :

if(printf("blahblah\n");{  
}
Run Code Online (Sandbox Code Playgroud)


我的想法 :

1.)对我来说,我认为这个代码总是被评估为真(我的假设),因为测试条件被函数调用所取代.



所以今天我正在做一本书提供的练习(只是为了帮助我刷新几天前学到的东西).这是代码.

代码 :

#include <stdio.h>

int main(void) // This program would add up the value enter by user , for e.g with the 
{              //input of 20 , it will print out the sum of 1+2+3+4+5.....20.

 int count , sum , size;

 count = 0;

 sum = 0;

    printf("Enter a value to find the sum of it from 1 : ");
    scanf("%d" , &size);

    while (count++ < size)

    sum = …
Run Code Online (Sandbox Code Playgroud)

c function

0
推荐指数
1
解决办法
6281
查看次数

关于C整数类型和printf()说明符的奇怪问题

好吧,我知道这个问题可能有些奇怪,但我还是想揭开它的神秘面纱.

1.)intC中的类型可以存储-2147483648到2147483647范围内的数字.

2.)如果我们在unsigned它前面添加它,范围将变为0到2147483647.

3.)问题是,unsigned当下面的代码实际可行时,为什么我们甚至懒得使用关键字.


代码:

#include <stdio.h>

int main(void)
{
    int num = 2147483650;

    printf("%u\n" , num);

    return 0;
}
Run Code Online (Sandbox Code Playgroud)


4.)如你所见,如果我使用说明%u符,我仍然可以将整数打印为无符号类型,它将打印出值2147483650.

5.)即使我创建了另一个带有值的整数类型50并将其总结num,虽然它已经溢出但是我仍然可以通过使用%u说明符打印出正确的和值.所以为什么unsigned关键字仍然是必需的?

感谢您花时间阅读我的问题.

c integer

0
推荐指数
1
解决办法
193
查看次数

何时将函数中使用的内存变为空闲?(C编程)

下面是代码

代码:

#include <stdio.h>

int * num(void);

int main(void)
{
    int * num2;
    num2 =num();
    printf("%d\n" , *num2);

    return 0;
}


int * num(void)
{
    int num = 20;

    return &num;
}
Run Code Online (Sandbox Code Playgroud)

问题:

  1. 我们知道,函数num是函数的本地函数num(),所以在这段代码中我尝试num将函数中变量的地址返回给调用它的函数,即main().

  2. 之后我只使用解除引用运算符来提取特定num变量的值并将其打印出来main().

  3. 有一点我很困惑.我记得我读过一本关于javascript的书,提到变量生命周期在函数内,这意味着在函数完成执行其指令并将控制权传递给调用它的函数之后,函数中每个变量的值将是干净的out(垃圾收集器).但为什么在这段代码中我的main()函数仍然可以指向特定内存地址的值?

c variables pointers memory-address

0
推荐指数
1
解决办法
203
查看次数

为常量内存位置地址创建指针??(C编程)

问题

1.)是否可以声明一个指针变量来引用一个常量的内存地址??我之前尝试过这个pt = &20;(**pt是一个指针变量)但它不起作用,所以它意味着我们不能这样做?顺便说一下,如果有可能我该如何解决它?

c pointers

0
推荐指数
1
解决办法
1712
查看次数

预处理器指令"使用"

我以前在学习知识Ç,我知道预处理指令一样#include,#define是不是这就是为什么顾名思义,它是过程编译程序之前的声明,因此没有必要为我们追加;在结束它.

在C++中,它向我介绍了一个新的指令using,但为什么这个指令会附加一个分号?我认为这就像我之前的指令,我知道它不是一个声明?

c++ c-preprocessor preprocessor-directive

0
推荐指数
1
解决办法
209
查看次数

在C++中截断

今天我试着编写一个程序来总结用户输入的整数.例如,如果用户输入683它将返回6 + 8 + 3 = 17.

但我在代码中遇到了一些奇怪的问题

代码 :

#包括

using namespace std;
int computeSum(int num);
int computeInteger(int num, int position);

int main()
{
    int num;
    int sum;
    int total;
    cin >> num;

    total = computeSum(num);

    cout << total;
    return 0;
}

int computeSum(int num) 
{
    int position = 10;
    int temp = num;
    double total = 0;
    bool finish = false;

    while(!finish)
    {
        total = total + computeInteger(num, position);

        if(num/ position == 0)
            break;
        position *= …
Run Code Online (Sandbox Code Playgroud)

c++ floating-point truncation

0
推荐指数
2
解决办法
1165
查看次数

实现子类中的接口的基类

using System;


public interface MustImplement
{
    public void DoSomething();
}

public class Base
{
    public void DoSomething()
    {
        Console.WriteLine("Something must be done");
    }
}

public class Child: Base, MustImplement
{
    //I don't have to implement the MustImplement interface here since the base class did it.
}
Run Code Online (Sandbox Code Playgroud)

正如您所看到的,子类仅使用DoSomething()基类中的实现,并且编译器将其视为有效。

我看到有人在他们的代码中做了类似的事情,这就是为什么我创建一个代码片段只是为了传达这个想法。

有什么理由我们应该这样做而不是在基类中执行public class Base: MustImplement和实现?public virtual void DoSomething()

.net c#

0
推荐指数
1
解决办法
82
查看次数