在这里,我试图围绕promises.Here在第一次请求我获取一组链接.并在下一个请求我获取第一个链接的内容.但我想在返回下一个promise对象之前做一个延迟.所以我使用它上面有setTimeout.但是它给了我以下JSON错误(without setTimeout() it works just fine)
SyntaxError:JSON.parse:JSON数据的第1行第1列的意外字符
我想知道为什么会失败?
let globalObj={};
function getLinks(url){
    return new Promise(function(resolve,reject){
       let http = new XMLHttpRequest();
       http.onreadystatechange = function(){
            if(http.readyState == 4){
              if(http.status == 200){
                resolve(http.response);
              }else{
                reject(new Error());
              }
            }           
       }
       http.open("GET",url,true);
       http.send();
    });
}
getLinks('links.txt').then(function(links){
    let all_links = (JSON.parse(links));
    globalObj=all_links;
    return getLinks(globalObj["one"]+".txt");
}).then(function(topic){
    writeToBody(topic);
    setTimeout(function(){
         return getLinks(globalObj["two"]+".txt"); // without setTimeout it works fine 
         },1000);
});
Run Code Online (Sandbox Code Playgroud) 我已经阅读了一些我可以在互联网上找到的关于多态性的文章.但我认为我无法理解它的含义及其重要性.大多数文章没有说明为什么它很重要以及如何在OOP中实现多态行为(当然在JavaScript中).
我无法提供任何代码示例,因为我还没有想到如何实现它,所以我的问题如下:
我有这个例子.但是很容易理解这段代码会产生什么结果.它没有给出关于多态性本身的任何清晰的想法.
function Person(age, weight) {
    this.age = age;
    this.weight = weight;
    this.getInfo = function() {
        return "I am " + this.age + " years old " +
        "and weighs " + this.weight +" kilo.";
    }
}
function Employee(age, weight, salary) {
    this.salary = salary;
    this.age = age;
    this.weight = weight;
    this.getInfo = function() {
        return "I am " + this.age + " years old " +
        "and weighs " + this.weight +" …Run Code Online (Sandbox Code Playgroud) javascript oop polymorphism functional-programming parametric-polymorphism
我试图在javascript中包围promise对象.所以我在这里有一小段代码.我有一个promise对象和两个console.log()在promise对象的两边.我以为它会打印
你好
那里
zami
但它打印出来了
HI
zami
there
Run Code Online (Sandbox Code Playgroud)
为什么它就像那样.我对如何工作没有任何理解,但我理解异步回调在javascript中是如何工作的.任何人都可以对这个主题有所了解吗?
console.log('hi');
var myPromise = new Promise(function (resolve, reject) {
    if (true) {
        resolve('There!');
    } else {
        reject('Aww, didn\'t work.');
    }
});
myPromise.then(function (result) {
    // Resolve callback.
    console.log(result); 
}, function (result) {
    // Reject callback.
    console.error(result);
});
console.log('zami');
Run Code Online (Sandbox Code Playgroud) [1, 2, 3].indexOf(3) => 2
[1, 2, NaN].indexOf(NaN) => -1
[1, NaN, 3].indexOf(NaN) => -1
Run Code Online (Sandbox Code Playgroud) JavaScript有不同的坐标系统,例如e.clientX,e.screenX.
我理解这两个很好,但有一些像e.layerX和e.offsetX.这两个对我来说不是很清楚.
有人可以为我解释这两个坐标吗?
我必须构建一个嵌套结构来存储一些人的某些基本信息(姓名,年龄,地址).所以我创建了一个名为"info"的结构,并保存地址,我在"info"中创建了另一个嵌套结构,名为"address".但每当我提示使用for循环存储值时,我都会收到错误.这里有什么问题,我该如何解决?
[错误]'struct Info'没有名为'address'的成员
[Warning]声明没有声明任何内容[默认启用]
#include <stdio.h>
int main(){
    struct Info{
        char name[30];
        int age;
        struct address{
            char area_name[39];
            int house_no;
            char district[39];
        };
    };
    struct Info Person[10];
    int i;
    for(i=0;i<10;i++){
        printf("enter info of person no %d\n",i);
        printf("enter name\n");
        scanf("%s",&Person[i].name);
        printf("enter age\n");
        scanf("%d",&Person[i].age);
        printf("enter address :\n");
        printf("enter area name :\n");
        scanf("%s",&Person[i].address.area_name);
        printf("enter house no : \n");
        scanf("%d",&Person[i].address.house_no);
        printf("enter district : \n");
        scanf("%s",&Person[i].address.district);
    }
}
Run Code Online (Sandbox Code Playgroud) 我在正则表达式中有很多困惑,我正试图解决它们.这里我有以下字符串:
{start}do or die{end}extended string
Run Code Online (Sandbox Code Playgroud)
我的两个不同的正则表达式,我只改变了点的位置:
(.(?!{end}))* //returns: {start}do or di
                                      //^ See here
((?!{end}).)* //returns: {start}do or die
                                      //^ See here
Run Code Online (Sandbox Code Playgroud)
为什么第一个正则表达式吃最后一个"e"?
而且这种负面前瞻如何使这个*量词非贪婪?我的意思是为什么它不能消耗超过{end}的字符?
感谢您的阅读...我会直接解决这个问题。
我有一个onclick函数附加到图像。
<div id="mercury" onclick="displayCreations()">
Run Code Online (Sandbox Code Playgroud)
JavaScript函数:
function displayCreations(){
   document.getElementById("projects").style.display = "block";
}
Run Code Online (Sandbox Code Playgroud)
到达页面后,我作为块显示的div设置为none。此功能将显示设置为“阻止”,这可以正常工作。
我在为div内的图像设置onclick函数(将显示值重新设置为none)时遇到麻烦。这似乎不适用于我当前的代码...
HTML:
<div id="mercury" onclick="displayCreations()">
        <img id="exit" onclick="hideCreations()" src="./assets/images/exit.png" alt="exit button" title="Leave Planet: Mercury" />
        <div id="projects">
            <h3>No creator here, but it looks like you've found some his wonderous creations...</h3>
            <ol>
                <li>Project 1</li>
                <li>Project 2</li>
                <li>Project 3</li>
            </ol>
        </div>
    </div>
Run Code Online (Sandbox Code Playgroud)
Javascript:
function displayCreations(){
   document.getElementById("projects").style.display = "block";
}
function hideCreations(){
   document.getElementById("projects").style.display = "none";
} …Run Code Online (Sandbox Code Playgroud) 这里我有三张桌子authors,books_has_authors并且books。
Books_has_author是一个中间表,仅包含其他两个表的主键。我正在尝试编写一个 sql 查询,它将返回特定作者写的所有书籍名称。我对关系数据库概念以及为关系数据库编写查询很陌生。我知道一些join查询,但我真的很困惑如何使用它们通过中间表获取信息。任何帮助将不胜感激 !:)
这里我有一个使用getter和setter来定义和获取属性值的代码.我使用对象构造函数创建了一个对象.我在for ... in循环中传递了对象.还在对象上使用了getOwnPropertyNames()方法.结果如下
可以在for循环中访问"fullName"属性
"fullName"在getOwnPropertyNames()方法中不可见.这意味着它是
不是自己的财产
这里我有两个基本问题.什么是自己的财产?如果"fullName"不是自己的属性,那么它是什么类型的属性?
function Name(first, last) {
    this.first = first;
    this.last = last;
}
Name.prototype = {
    get fullName() {
        return this.first + " " + this.last;
    },
    set fullName(name) {
        var names = name.split(" ");
        this.first = names[0];
        this.last = names[1];
    }
};
var obj=new Name('al','zami');
for(var i in obj){
   console.log(i); // fullName is here
}
console.log(Object.getOwnPropertyNames(obj)); // fullName is not here
Run Code Online (Sandbox Code Playgroud) javascript ×8
oop ×2
php ×2
promise ×2
arrays ×1
c ×1
css ×1
declaration ×1
html ×1
indexing ×1
json ×1
lookahead ×1
mysql ×1
nan ×1
polymorphism ×1
properties ×1
regex ×1
sql-server ×1
string ×1
structure ×1