相关疑难解决方法(0)

为什么ECMAScript第4版完全废弃了?

我一直在寻找关于报废ECMAScript第4版的一些信息,但没有取得多大成功,即使在SO上也是如此.我知道Mozilla的JavaScript 1.7实现了第4版中提供的许多(全部?)新功能,我想我记得有一篇好的John Resig帖子,但我现在似乎无法在他的博客上找到它.

特别是,我想知道为什么它完全取消了ECMA-262第5版以及为什么它不仅仅是改进.一些功能非常酷,如生成器,迭代器,let,新赋值运算符和(我特别喜欢的)解构赋值.

我知道所有这些特殊功能只会在具有过时ECMAScript实现的浏览器中抛出错误,但为什么不包括它们,知道有一天这些实现很少而且很远?还有其他原因吗?我们是否可能会在未来的版本中看到一些报废功能重新出现,或者供应商是否害怕破坏兼容性,我们可能永远不会看到标准的这些改进?

顺便说一句,知道一些关于这个问题的意见会很高兴,你是否对从第5版中删除某些功能感到恼火,或者你认为这样做会更好?是否值得玩ECMAScript 4的实现?

javascript ecma262 ecmascript-4

12
推荐指数
2
解决办法
2966
查看次数

带或不带引号的JSON对象

我正在尝试学习JSON,我了解到任何带有双引号键的javascript对象都被视为JSON对象.

我构建了这个对象

var jstr1 = {"mykey": "my value"};
Run Code Online (Sandbox Code Playgroud)

但是当我尝试使用JSON.parse(jstr1)进行解析时,我收到以下错误.看截图.

在此输入图像描述

但是,当我试图解析这个

var jstr = '{"mykey": "my value"}';,
Run Code Online (Sandbox Code Playgroud)

我获得了成功,请看截图.我对此感到困惑.请解释我为什么会这样.这两种形式有什么区别.

当我将JSON作为来自任何服务的响应时,它的外观如何,是否会以jstr或的形式出现jstr1

提前感谢您的帮助.

javascript json

9
推荐指数
3
解决办法
7万
查看次数

将对象转换为HTML元素

在函数的输入中是具有这种结构的对象:

{
  tag: 'a', //type of html object
  content: "blabal", //inner content
  attr: {
    href: "vk.com",
    id: 'someId'
  },
  events: {
    click: 'alert(this.href)',
    focus: 'this.className="active"'
  },
  style: {
    width:"100px"
  }
}
Run Code Online (Sandbox Code Playgroud)

它描述了一个HTML元素.它必须返回具有指定属性的HTML元素.怎么解析呢?我有这样的事情:

elemen={
  tag:'a',
  content:"blabal",
  attr:{
    href:"vk.com",
    id:'someId'
  },
  events:{
   click:'alert(this.href)',
   focus:'this.className="active"'
  },
  style:{
    width:"100px"
  }
};
console.log(elemen.tag);
var node = document.createElement(elemen.tag);
node.innerHTML= elemen.content;

for(var prop in elemen.events){

  var fun =new Function(elemen.events[prop]);
  console.log(fun);
  node.bind(prop, fun);
//   divv.bind(prop, fun);
}
Run Code Online (Sandbox Code Playgroud)

html javascript jquery object javascript-objects

7
推荐指数
2
解决办法
9401
查看次数

如何检查密钥是否存在于json中

我有JSON对象,我想检查在该JSON对象中设置的键

这是JSON对象

var Data_Array = {
    "Private": {
        "Price": {
            "Adult": "18",
            "Child": [{
                "FromAge": "0",
                "ToAge": "12",
                "Price": "10"
            }]
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

如果JSON Object像这样你可以看到Child不存在,那么如何检查这个

var Data_Array = {
    "Private": {
        "Price": {
            "Adult": "18"
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我试过了

if(Data_Array.Private.Price.Child[0].Price != "undefined"){
    ...
}
Run Code Online (Sandbox Code Playgroud)

但它告诉我这个错误

未捕获的TypeError:无法读取属性

我无法知道我该怎么做.

javascript jquery json

7
推荐指数
1
解决办法
5万
查看次数

Lodash 两个对象之间的差异

我正在 Lodash 函数的帮助下比较两个对象isEqual,并尝试通过函数找出差异difference

difference函数返回整个对象,而不是仅返回那些不同的属性。

有没有办法只找到对象中不匹配的属性?

javascript javascript-objects lodash

7
推荐指数
1
解决办法
2万
查看次数

jsonstring和json对象之间的区别

可能重复:
JSON和Object Literal Notation有什么区别?

谁能告诉我JSON字符串和JSON对象之间的区别?

谢谢

string json object

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

JS对象文字和JSON字符串有什么区别?

我对Object Literals,JSON,JavaScript Objects对人们究竟是什么意思感到困惑,对我来说它们看起来很相似:

{foo: 'bar', bar : 'baz'}
Run Code Online (Sandbox Code Playgroud)

AFAIK,上面是对象文字,json以及javascript对象,不是吗?

object literal和json是否意味着同样的事情?

你们如何区分哪个是什么?

javascript json

5
推荐指数
2
解决办法
2459
查看次数

基于json对象树的html表

我有一个动态的json对象,它可以在内部包含不同类型的属性和对象,甚至可以包含平面字符串甚至数组。我制作了一个JavaScript代码,将单个JSON结构转换为HTML表,效果很好,但id希望将其用于动态JSON,因此基本上,我需要遍历JSON树的父级和子级,以了解如何创建此结构HTML表格。

但是在尝试验证孩子是否有对象时确实存在一些问题,例如:(我不想在JSON中添加很多细节)

parent: {
    child_1: {
        attr1 : value1
    },
    child_2: {
          [{ attribues and values in an array }]
    }
}
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点?我当时正在考虑像这样使用“ typeof”函数:

if (typeof key === 'array') {
    // do something
}else{
    // do another stuff
}
Run Code Online (Sandbox Code Playgroud)

但是我不相信它会很好,你们能帮我吗?

提前致谢。

html javascript json

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

对象文字作为原型

这个问题更多的是关于支持和向后兼容性.我测试了以下代码.

function newFunc() {}

newFunc.prototype = {

    literal : {
        init : function() {
            console.log(this);
            this.test();
        },
        test : function() {
            console.log('test');
        }
    }
}

var inst = new newFunc();

inst.literal.init();
Run Code Online (Sandbox Code Playgroud)

这是有效的,虽然我没有在任何其他代码中看到对象文字作为原型.是否有一个原因?这似乎是一种合乎逻辑的编码方式,虽然我不想追求它,如果它有严重的陷阱.

javascript

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

如何使用JQuery Ajax Call从Web方法发送和检索数据?

我有一个文本框和旁边的按钮.我想通过Jquery ajax调用webmethod发送文本框的内容并获取相同的大写值并在alert中显示.到目前为止,我有这个代码,但它不起作用.

JAVASCRIPT:

function CallWM()
    {          

        var name = $('#name').val();         


        RealCallWM(name);


    }
    function RealCallWM(name) {

        $.ajax({
            url: 'Register.aspx/UpperWM',
            type: 'POST',
            contentType: 'application/json; charset=utf-8',
            data: { name: JSON.stringify(name) },
            success: OnSuccess(response),
            error: function (response) {
                alert(response.responseText);
            }
        })
    };
Run Code Online (Sandbox Code Playgroud)

HTML:

  Name:    <input id="name" type="text" /> 
<input id="Button1" type="button" value="button" onclick="CallWM();"/></div>
    </form>
Run Code Online (Sandbox Code Playgroud)

WEB方法:

 [WebMethod]
        public static string UpperWM(string name )
        {
            var msg=name.ToUpper();
            return (msg);
        }
Run Code Online (Sandbox Code Playgroud)

javascript c# asp.net ajax jquery

5
推荐指数
1
解决办法
4万
查看次数