js不好学并不是因为它难,而是因为它容易混淆

版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_40943219/article/details/86557458

这段时间我主讲的前端零基础课,让我感觉js这东西是越来越简单了。你当然可以说我这是越讲课越熟。确实是有这部分因素,但更主要的是,我发现js中虽然有许多的概念各不相同,但在具体的代码实现中,基本都是非常类似,甚至是完全一样的。这就导致前端新人在学习的过程中,学着学着,就分不清谁是谁了。

 

例如在27号的课程中,主要讲js的自定义对象。在课程中提到了,函数,方法,对象,又加个构造器,,这就已经四个概念了,但使用代码表现出来,

 

function abc(){

console.log('abc')

}

 

全都是一样的,就是一个名为abc的function,你单独的写一个,

 

function abc(){

console.log('abc')

}

这就是个孤立的函数。

//-------------

function abc(n){

console.log(n)

}

这时,你可以称,它是个接收参数并输出的方法。

//-------------

但同时,函数还是个对象!因为要把它赋值给变量然后调用

Function

//-------------

function abc(){

console.log('abc')

}

new abc();

此时,这个abc函数又是个构造器

//-------------

 

那么它们什么时候是函数,什么时候是方法,什么时候是对象,又是什么时候是构造器?全看你想怎么去使用它们。

 

但对于新人来讲,有时就晕了,明明刚才还说是声明一个函数,怎么到这就变成构造器了?

 

再看什么私有方法,公共方法,全局变量,局部变量,

其实不过是写在函数外面或是里面的匿名函数和变量而已。说到底就是函数和变量。但却因为使用方式和环境的不同,搞出这么多名字。

 

这在我个人看来,还是因为js太过简单,但又要承载复杂的功能,只能是人为的用各种手段和名称去区分。

 

//-------------

js还有些明明很简单,我总觉得各种教程写的有些过于复杂了,也许是我理解的还不到位吧。

 

不说别的,就单说prototype和constructor,无非是函数里有个prototype属性,然后prototype里有个对象,这个对象里有个constructor,然后这个constructor的值是它所在的那个函数。。,就像这样:

 

 

简单吧,就是个一个套着一个的关系。但看网上的教程,什么引用,包含,指向,画的图也左一道又一道的,看不懂。

 

//-------------

再来说闭包,啥叫闭包?

 

图上画的很清楚,那个返回的子函数及其作用域,就是闭包。

 

但看看网上关于闭包的资料,很多写的,,反正我开始时在学js的时候,看闭包是很久也理解不了。

 

//-------------

就不多说了,js当然也不简单,依然是很复杂的东西,需要大量的代码练习才能掌握。但既然我已经懂了,明白了。那么在我这里,就是怎么简单怎么讲,能一句话说明白就不用二句话。

 

在我看来,有时间多讲讲代码实现,比我费挺大劲给你讲明白一个概念,要重要的多。

展开阅读全文

不能做任何连接,因为目标机器积极地拒绝它。

05-03

从IIS里开始浏览网页,然后调用web service里的函数时,出现了以下错误信息rnrn不能做任何连接,因为目标机器积极地拒绝它。 rn说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 rnrn异常详细信息: System.Net.Sockets.SocketException: 不能做任何连接,因为目标机器积极地拒绝它。rnrn源错误: rnrn执行当前 Web 请求期间生成了未处理的异常。可以使用下面的异常堆栈跟踪信息确定有关异常原因和发生位置的信息。 rnrn堆栈跟踪: rnrnrn[SocketException (0x274d): 不能做任何连接,因为目标机器积极地拒绝它。]rn System.Net.Sockets.Socket.DoConnect(EndPoint endPointSnapshot, SocketAddress socketAddress) +1002194rn System.Net.Sockets.Socket.InternalConnect(EndPoint remoteEP) +33rn System.Net.ServicePoint.ConnectSocketInternal(Boolean connectFailure, Socket s4, Socket s6, Socket& socket, IPAddress& address, ConnectSocketState state, IAsyncResult asyncResult, Int32 timeout, Exception& exception) +431rnrn[WebException: 无法连接到远程服务器]rn System.Net.HttpWebRequest.GetRequestStream() +1504573rn System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object[] parameters) +103rn WebSerUserLogin.UserLogin.login(String name, String password) +63rn serLogin.BtnOK_Click(Object sender, EventArgs e) +147rn System.Web.UI.WebControls.Button.OnClick(EventArgs e) +105rn System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument) +107rn System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +7rn System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +11rn System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +33rn System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +5102rn 论坛

没有更多推荐了,返回首页