我越来越看不懂你了 JS 了啊,怎么办

没学过编程完全看不懂JAVAscript怎么办?【html吧】_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:106,157贴子:
没学过编程完全看不懂JAVAscript怎么办?收藏
学了HTML和CSS了 看js教程都看不懂怎么办?
html培训,千锋Html5培训,名企内部推荐就业,面对面教学模式,成就高薪互联网工程师!html培训,企业级项目实战,总监级名师面授,0基础20周速成为web开发工程师,高薪就业!
可以先找点计算机概论的书读读,先把一些概念弄懂,对你学习何程式语言会有很大的助例如什麽是函数、什麽是变量、变量那些类型、回圈(循环)、if条件语句等等,这些都是语言程式共通的,基础打稳了,再回来学js,你会发现你主要要学的就只剩下一些事件和方法的运用。
先去学C吧,C是所有语言的基础,学了C之后学其他的语言就不难了。。。。。。。。。。。。。
买书看吧,孩子~
加我,虽然我也什么都不懂。
有兴趣可以先学pascal或C或java(以适应语法,了解编程思路,pascal较简单)。如果你比较感性,感觉困难的话可以考虑看《Head First Programming》、《Head First Javascript》、《Head First C》等。   -- 500 Internal Server Error
学javascript不需要编程基础好不你只要有点数学和英语基础就ok了,建议你买本专门javascript的书看看多练一练就ok了基础有了,再去下些javascript实例的视频教程这样一般能学会。如果你还要学php asp.net还是建议你报个3.4个月的培训班自学真的很吃力容易进死胡同,而且很零散不系统。
此段名言警句来自只为你泪光闪烁
css和编程没啥关系,, js
是种面向对象的编程语言,
和html这种标记性语言不同
NIIThtml5,高大上的品牌,值得你选择.承诺先上课,后付款,不满意,我们退全款!为你的学习免去后顾之忧.
楼主,你现在学到什么地步了,能加我Q交流一下吗?我跟你一样,也是没有编程基础,我看了半个月的视频了,基本上知道html,css这些是什么东西,也能做出一些简单的静态的网页,然后下载的javascript的视频,也是完全看不懂。。。。很希望跟你交流一下,QQ:
登录百度帐号我是新手 看不懂别人写的js代码怎么办?【javascript吧】_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:161,746贴子:
我是新手 看不懂别人写的js代码怎么办?收藏
我只能看懂自己写的js代码 别人写的一大堆代码看到就头晕 不知道从哪里看 怎么办
千锋javascript 名师荟萃 汇聚html5前沿技术 全栈式教学模式 免费试学两周千锋javascript 0基础20周快速提升,成就html5实战精英 实战教学 学习就业无缝对接!
自己写的太少。先写个5000行再说
我也是新手,也看不懂别人写的代码,除非有注释。
少年不要说你新手偶老手都经常看不懂别人的代码呢
我是新手,别人都看不懂我代码怎么办 = =
菜鳥頭痛
看得懂的都是高手
登录百度帐号用户“五星格兰特”对问题“专业名词看不懂怎么办?”的回答 - 问答 - 云+社区 - 腾讯云云+社区首页非专业人员,看不懂怎么办写回答邀请回答天前专业名词看不懂怎么办?写回答可以把具体不懂的地方提出来回答过的其他问题技术实现当然是要靠编程的,也要看你想在行业里做什么位置。互联网公司需要的岗位区块链公司都是需要的。腾讯云有国外的服务器的,镜像市场里都有论坛的镜像你原来是Linux系统?新增解析记录一般来说实时生效,有可能有几分钟延迟,请耐心等待。 如果你试图将其用于限速,则可能只想使用DOWNLOAD_DELAY。 Scrapy只是Twisted之上的一个框架。大多数情况下,你可以将它视为与其他任何扭曲的应用程序相同。而不是调用睡眠,只是返回下一个请求,并告诉扭曲等待一下。例如: from twisted.interne......
过去我遇到过类似的问题,但它总是被认为是底层代码元素之间的意外交互,或者是测试写入的方式。有些问题需要检查: 静态对象构建/销毁 同步问题 模拟设置/清理问题 我发现追踪问题的最好方法是遵循类似于@Matthew Strawbridge在评论中提出的方法。我Ignore向Tes...... 就事论事不撕逼!三观不合删评价!学了这么多年JS,你还不是弄不懂“this”? (上篇)
(图片来自网络)
编者按:本文由MinweiShen在众成翻译平台上翻译。学了这么多年的JS,相信“this”一定是萦绕你心头上的一大迷思!本系列将用最优雅的方式,系统地为你解释在Java中“this”到底是什么,让你再也不纠结!
2. 函数调用2.1. 函数调用中的this2.2. 函数调用中的this,strict模式2.3. 陷阱: 内部函数中的this
3. 方法调用3.1. 方法调用中的this3.2. 陷阱:从object中分离方法
1. this之谜
许多时候,this关键词对我以及许多刚起步的Java程序员来说,都是一个谜。它是一种很强大的特性,但是理解它需要花不少功夫。
对有Java, PHP或者其他常见的编程语言背景的人来说,this仅仅被看成是类方法中当前对象的一个实例:不会多也不会少。多数时候,它不能在方法外被使用。正是这样一种简单的使用方法,避免了混淆。
在Java中,this是当前执行函数的上下文。因为Java有4种不同的函数调用方式:
函数调用: alert('Hello World!')
方法调用: console.log('Hello World!')
构造函数调用: new RegExp('d')
隐式调用: alert.call(undefined, 'Hello World!')
并且每种方法都定义了自己的上下文,this会表现得跟程序员预期的不太一样。同时,strict模式也会影响函数执行时的上下文。
理解this的关键点就是要对函数调用以及它如何影响上下文有个清晰的理解。这篇文章将会着重于对函数调用的解释、函数调用会如何影响this以及列举一些确定上下文时常见的陷阱。
在开始之前,让我们来熟悉一些术语:
函数调用指执行构成一个函数的代码(简单说就是call一个函数)例如 parseInt('15')是parseInt函数调用.
函数调用的上下文指this在函数体中的值。
函数的作用域指的是在函数体内可以使用的变量、对象以及函数的集合。
2. 函数调用
当一个表达式为函数接着一个(,一些用逗号分隔的参数以及一个)时,函数调用被执行。例如parseInt('18')。这个表达式不能是属性访问,如myObject.myFunction,因为这会变成一个方法调用。举个例子,[1,5].join(',')不是一个函数调用,而是一个方法调用。
一个简单的函数调用例子:
在JS Bin上试试
functionhello(name){
return'Hello '+name +'!';
// Function invocation
varmessage =hello('World');
console.log(message);// =& 'Hello World!'
hello('World')是函数调用: hello表达式等价于一个函数,跟在它后面的是一对括号以及'World'参数。
更加高级的例子是IIFE(立即调用的函数表达式):
在JS Bin上试试
varmessage =(function(name){
return'Hello '+name +'!';
})('World');
console.log(message)// =& 'Hello World!'
IIFE也是一个函数调用: 第一对括号(function(name) {...})是一个等价于函数的表达式, 紧接着一对括号以及'World'参数: ('World')。
2.1. 在函数调用中的 this
this在函数调用中是一个全局对象
全局对象是由执行的环境决定的。在浏览器里它是window对象。
在函数调用里,函数执行的上下文是全局对象。让我们一起看看下面函数里的上下文:
在JS Bin上试试
functionsum(a,b){
console.log(this===window);// =& true
this.myNumber =20;// add 'myNumber' property to global object
returna +b;
// sum() is invoked as a function
// this in sum() is a global object (window)
sum(15,16);// =& 31
window.myNumber;// =& 20
在sum(15, 16)被调用的时候,Java自动设置this指向全局对象,也就是浏览器里的window。
当this在所有函数作用域以外(最上层的作用域:全局执行的上下文)调用时,它也指向全局对象:
在JS Bin上试试
console.log(this===window);// =& true
this.myString ='Hello World!';
console.log(window.myString);// =& 'Hello World!'
在JS Bin上试试
&!--In an html file --&
`& type="text/java"&`console.log(this===window);// =& true &/&
2.2. 函数调用中的
this, strict模式
strict模式下,函数调用中的this是undefined
strict模式在ECMA 5.1中被引入,它是一个受限制的Java变种,提供了更好的安全性以及错误检查。为了使用它,把'use strict'放在函数体的开始。这个模式会影响执行的上下文,把this变成undefined。函数执行的上下文跟上面的例子2.1相反,不再是全局对象
在strict模式下执行函数的例子:
在JS Bin上试试
functionmultiply(a,b){
'use strict';// enable the strict mode
console.log(this===undefined);// =& true
returna *b;
// multiply() function invocation with strict mode enabled
// this in multiply() is undefined
multiply(2,5);// =& 10
当multiply(2, 5)作为函数被调用时,this是undefined。
strict模式不仅在当前作用域起作用,也会对内部的作用域起作用(对所有在内部定义的函数有效):
在JS Bin上试试
functionexecute(){
'use strict';// activate the strict mode
functionconcat(str1,str2){
// the strict mode is enabled too
console.log(this===undefined);// =& true
returnstr1 +str2;
// concat() is invoked as a function in strict mode
// this in concat() is undefined
concat('Hello',' World!');// =& "Hello World!"
execute();
'use strict'插入在execute函数体的一开始, 使它在execute函数的作用域内起作用。 因为concat定义在execute的作用域内, 它也会继承strict模式, 这导致调用concat('Hello', ' World!')时, this是undefined。
单个的Java文件可能既包含strict模式又包含非strict模式。所以,在单个的脚本内,同样的调用方法可能有不同的上下文行为:
在JS Bin上试试
functionnonStrictSum(a,b){
// non-strict mode
console.log(this===window);// =& true
returna +b;
functionstrictSum(a,b){
'use strict';
// strict mode is enabled
console.log(this===undefined);// =& true
returna +b;
// nonStrictSum() is invoked as a function in non-strict mode
// this in nonStrictSum() is the window object
nonStrictSum(5,6);// =& 11
// strictSum() is invoked as a function in strict mode
// this in strictSum() is undefined
strictSum(8,12);// =& 20
2.3. 陷阱: 内部函数中的
一个函数调用中的常见错误就是以为this在内部函数中跟在外部函数中一样。正确来说,内部函数的上下文依赖于调用方法,而不是外部函数的上下文。为了能使this跟预期的一样,用隐式调用来修改内部函数的上下文(用.call()或者.apply(), 如5.所示)或者创建一个绑定函数(用.bind(), 如6.所示)。
下面的例子计算了2个数字的和:
在JS Bin上试试
varnumbers ={
numberA:5,
numberB:10,
sum:function(){
console.log(this===numbers);// =& true
functioncalculate(){
// this is window or undefined in strict mode
console.log(this===numbers);// =& false
returnthis.numberA +this.numberB;
returncalculate();
numbers.sum();// =& NaN or throws TypeError in strict mode
numbers.sum()是一个对象上的方法调用 (见3.),所以sum中的上下文是numbers对象。calculate函数定义在sum内部,所以你会指望calculate()中的this也是numbers对象。然而,calculate()是一个函数调用(而不是方法调用),它的this是全局对象window(例子2.1.)或者strict模式下的undefined(例子2.2.)。即使外部函数sum的上下文是numbers对象,它在这里也没有影响。numbers.sum()的调用结果是NaN或者strict模式下的TypeError: Cannot read property 'numberA' of undefined错误。因为calculate没有被正确调用,结果绝不是预期的5 + 10 = 15。
为了解决这个问题,calculate应该跟sum有一样的上下文,以便于使用numberA和numberB。解决方法之一是使用.call()方法(见章节5.):
在JS Bin上试试
varnumbers ={
numberA:5,
numberB:10,
sum:function(){
console.log(this===numbers);// =& true
functioncalculate(){
console.log(this===numbers);// =& true
returnthis.numberA +this.numberB;
// use .call() method to modify the context
returncalculate.call(this);
numbers.sum();// =& 15
calculate.call(this)像往常一样执行calculate,但是上下文由第一个参数指定。现在this.numberA + this.numberB相当于numbers.numberA + numbers.numberB,函数会返回预期的结果5 + 10 = 15。
3. 方法调用
一个方法是作为一个对象的属性存储的函数。例如:
在JS Bin上试试
varmyObject ={
// helloFunction is a method
helloFunction:function(){
return'Hello World!';
varmessage =myObject.helloFunction();
helloFunction是myObject的一个方法。为了使用这个方法, 使用属性访问:myObject.helloFunction。
当一个表达式以属性访问的形式执行时,执行的是方法调用,它相当于以个函数接着(,一组用逗号分隔的参数以及)。利用前面的例子,myObject.helloFunction()是对象myObject上的一个helloFunction的方法调用。[1, 2].join(',')或/s/.test('beautiful world')也被认为是方法调用。
区分函数调用(见2.)跟方法调用是很重要的,因为他们完全不同。他们最主要的区别在于方法调用要求函数以属性访问的形式调用(如&expression&.functionProperty()或者&expression&['functionProperty']()),而函数调用并没有这样的要求(如&expression&())。
在JS Bin上试试
['Hello','World'].join(', ');// method invocation
({ten:function(){return10;}}).ten();// method invocation
varobj ={};
obj.myFunction =function(){
returnnewDate().toString();
obj.myFunction();// method invocation
varotherFunction =obj.myFunction;
otherFunction();// function invocation
parseFloat('16.60');// function invocation
isNaN(0);// function invocation
3.1. 方法调用中的
在方法调用中,this是拥有这个方法的对象
当调用一个对象上的方法时,this变成这个对象自身。让我们一起来创建一个对象,它带有一个可以增大数字的方法:
在JS Bin上试试
varcalc ={
increment:function(){
console.log(this===calc);// =& true
this.num +=1;
returnthis.num;
// method invocation. this is calc
calc.increment();// =& 1
calc.increment();// =& 2
调用calc.increment()会把increment函数的上下文变成calc对象。所以,用this.num来增加num这个属性跟预期一样工作。
java对象会从它的prototype继承方法。当这个继承的方法在新的对象上被调用时,上下文仍然是该对象本身:
在JS Bin上试试
varmyDog =Object.create({
sayName:function(){
console.log(this===myDog);// =& true
returnthis.name;
myDog.name ='Milo';
// method invocation. this is myDog
myDog.sayName();// =& 'Milo'
Object.create()创建了一个新的对象myDog,并且设置了它的prototype。myDog继承了sayName方法。当执行myDog.sayName()时,myDog是调用的上下文。
在ECMA 6的class语法中,方法调用的上下文也是这个实例本身:
在JS Bin上试试
classPlanet{
constructor(name){
this.name =name;
getName(){
console.log(this===earth);// =& true
returnthis.name;
varearth =newPlanet('Earth');
// method invocation. the context is earth
earth.getName();// =& 'Earth'
3.2. 陷阱:从object中分离方法
一个对象中的方法可以赋值给另一个变量。当用这个变量调用方法时,你可能以为this指向定义这个方法的对象。
正确来说如果这个方法在没有对象的时候被调用,它会变成函数调用:this变成全局对象window或者strict模式下的undefined(见2.1和2.2)。用绑定函数(用.bind(), 见6.)可以修正上下文,使它变成拥有这个方法的对象。
下面的例子创建了Animal构造函数并创造了它的一个实例 - myCat。 setTimout()会在1秒钟之后输出myCat对象的信息:
在JS Bin上试试
functionAnimal(type,legs){
this.type =type;
this.legs =legs;
this.logInfo =function(){
console.log(this===myCat);// =& false
console.log('The '+this.type +' has '+this.legs +' legs');
varmyCat =newAnimal('Cat',4);
// logs "The undefined has undefined legs"
// or throws a TypeError in strict mode
setTimeout(myCat.logInfo,1000);
你可能会以为setTimout会调用myCat.logInfo(),输出关于myCat对象的信息。实际上,这个方法在作为参数传递给setTimout(myCat.logInfo)时已经从原对象上分离了,1秒钟之后发生的是一个函数调用。当logInfo作为函数被调用时,this是全局对象,或者strict模式下的undefined(反正不是myCat对象),所以不会正确地输出信息。
函数可以通过.bind()方法跟一个对象绑定(见6.)。如果这个分离的方法与myCat绑定,那么上下文的问题就解决了:
在JS Bin上试试
functionAnimal(type,legs){
this.type =type;
this.legs =legs;
this.logInfo =function(){
console.log(this===myCat);// =& true
console.log('The '+this.type +' has '+this.legs +' legs');
varmyCat =newAnimal('Cat',4);
// logs "The Cat has 4 legs"
setTimeout(myCat.logInfo.bind(myCat),1000);
myCat.logInfo.bind(myCat)返回一个跟logInfo执行效果一样的函数,但是它的this即使在函数调用情况下也是myCat。
未完待续。。。。
——————————————————
领略前端技术 阅读奇舞周刊
责任编辑:
声明:该文观点仅代表作者本人,搜狐号系信息发布平台,搜狐仅提供信息存储空间服务。
今日搜狐热点热门推荐:
点标签看更多好帖
更新于& 20:56
昨天温岭网友说:越来越看不懂太平小学了----1)据说3年级有4个班这个学期因没有体育老师所以不上体育课了。要改上语文或数学或自习了。2)3年级信息技术课,据说各种各样的原因迟迟不开课。3)更有意思的是同一个年级不同的班级英语课、科学等课安排的课时不一。4)还有个现象有老师出差去了,比如语文老师出差一星期,这个班的一个星期的语文课就改自习了,好点的话语文课被掉到下星期上,不过这星期语文是。不会上了。以上几点,请家长们帮忙看看是否如此?也请校方给个解释!同时,有网友这样评论:现在温岭的小学教育,整个小学阶段,学生体育课不见在操场上跑步,小学生小学毕业,什么是跳高跳远也不知道,小学生体质测试,全地区最差,现在政府投入这么多的资金,将学校操场改造得如此漂亮,却荒芜不用,不知道现在温岭的一批校长都在搞些什么名堂,坐台上开会教育理念一大套,培养思路条家条,专门搞些花架子,真心的希望温岭的校长们沉下心来,做点实实在在的培养人的实事。我想说:求真相。网友曝光的是不是真的?也请温岭教育局多多监督!
TA共获得:
评分共:<em id="J_rateLogNum_ 条
(严正声明:谢绝台州2套,特别是&阿福讲白搭&使用我爆料或以我爆料当素材,若盗用,严重鄙视!)
关注温岭身边大小事
发表于 05:17
教育改革方向应该是:身体健康排第一。心理健康第二位。学习成绩排第三!
TA共获得:
评分共:<em id="J_rateLogNum_ 条
童星宇宙之声广播电台、童心语地球之声广播电台、童心雨交通之声广播电台台长兼主持人兼导播兼记者兼编辑兼门卫兼清工雪中莲同志温馨提醒地球村各位司机朋友请遵遵交通法规!晚五分回家比永远回不了家要好!
发表于 05:37
温岭的学校,校园文化靠边站,学生的身体健康靠边站,全部时间用来狠命地上主课抓成绩!有些学校,尤其是初中,学生在校一天中,连上个厕所的时间都没有。
TA共获得:
评分共:<em id="J_rateLogNum_ 条
发表于 05:43
教育局一直强调假期不准补课,台州教育局直属的白云学校,自从去了一位温岭的校长,初三年级暑假就组织上课了,听说周六也在上课!请问台州教育局,这是带头违法规定吗?
TA共获得:
评分共:<em id="J_rateLogNum_ 条
发表于 06:27
教育改革是越改越揪心,校长和老师是越来越坏&&悲哀啊!
TA共获得:
评分共:<em id="J_rateLogNum_ 条
发表于 06:33
身体是革命的本钱!但大家喜欢要看成绩!jyj要每个xx的成绩好坏,内部清楚那个xx成绩好,哪个xx不好,这样子,xx也会有压力,然后js就去抓成绩,xs自然也要努力学,最后体制就忘记锻炼,整一个循环
TA共获得:
评分共:<em id="J_rateLogNum_ 条
发表于 06:35
据说有些xx做几个俯卧撑就晕倒了,有人跑步400,直接中暑,那天温度才28,早上9点左右!
TA共获得:
评分共:<em id="J_rateLogNum_ 条
发表于 08:26
你不把高考改革了,其他阶段怎么改革都无济于事,所以不必苛责小学初中的校长或者老师了,同理,苛责高中校长也没意思,高考这根指挥棒,谁敢违背?
TA共获得:
评分共:<em id="J_rateLogNum_ 条
发表于 09:01
不要一味责怪学校,在升学率面前家长又拼命的想把孩子送进重点中学,这不自相矛盾吗。体育训练不能靠学校这几课就达到健身强体的目标,要靠父母平时多带出运动,慢慢的就会成了爱好,如果做父母的本身就懒于运动,那就别指责学校了,因为家庭教育比学校教育更重要。
TA共获得:
评分共:<em id="J_rateLogNum_ 条
发表于 09:10
都是高考这根指挥棒搞的,不过问问家长们,要是孩子们什么都给上,结果成绩不是很理想,你干吗?哎,老师最不好当了,因为家长太多了,今天学生没作业,有的家长叫好,有的家长叫骂,其实哪个老师不会少布置作业呀,还不是被社会和家长给逼的。一个学校有五个平衡班,要是哪个班级考的最差被家长知道了,到一年级的时候就没有哪个家长想到他班去了,哎,悲哀呀
TA共获得:
评分共:<em id="J_rateLogNum_ 条
发表于 20:56
TA共获得:
评分共:0 条
使用(可批量传图、插入视频等)
下载19楼客户端回帖双倍威望
Ctrl + Enter 快速发布}

我要回帖

更多关于 凤囚凰怎么看不懂了 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信