javascript语法的基本语法问题

目前在自学JavaScript,感觉非常的吃力,是不是我的方法不对?
12:03:02 +08:00 · 18470 次点击
我自己的学习方法是,看JavaScript DOM编程艺术,第一章节我研究了近3个星期,始终不明白它里面的讲的对象与数组与代码表示的意思,然后实现是看不下去了;转而去看妙味课堂Javascript视频教程,里面前5节就是JS学前预热课程,这5节课程重复看了10遍以上,不停地练习视频里的例子,自己已经可以写点简单的JS效果了;然后重新去看JavaScript DOM编程艺术,感觉很容易上手,没有刚刚开始看时的迷惑现在的问题是,我还是不明白什么是对象,什么是数组,什么是闭包,怎么隐藏全局变量,等
第 1 条附言 &·&
13:40:24 +08:00
看了几个老兄都在说要有目标的学习,这样才能学好,谢谢
77 回复 &| &直到
08:00:00 +08:00
& & 12:08:03 +08:00
不如先学下python或者PHP吧,比较简单,好上手,成就感来得快
话说,从初级向中级进步路上,我觉得JS比上面2者难得多
& & 12:09:50 +08:00
犀牛书 javascript the good part
& & 12:12:12 +08:00
@ 犀牛书比JavaScript DOM编程艺术更加难啃,我看了3页就放弃了,直接看JavaScript DOM编程艺术+视频
& & 12:13:38 +08:00
你要是编程零基础就别看什么编程艺术了,找个傻瓜书啥的
& & 12:14:07 +08:00
我觉得反复看蝴蝶书就好了。写代码主要在写。读书可以大略地读,快速看完,不懂也没有关系,看完之后根据自己仅有的知识和理解去写,一遍遍试错的过程中就能真正地理解编程语言了。
& & 12:21:59 +08:00
目前我也在学 JavaScript ,前期我也是先看 JavaScript DOM 编程艺术,在练习完里面的那个图片库案例之后我就开始看 JavaScript 高级程序设计了。
JavaScript DOM 编程艺术相对来说还是比较好理解的吧?我个人觉得里面的例子我自己都可以理解。只不过 DOM 编程艺术里面并没有详细地教你 JavaScript 最基础的东西。我个人感觉只是纯粹在讲关于 DOM 这方面的内容。
而 JavaScript的 基础知识个人认为在 JavaScript DOM 编程艺术里面学不到的。
基础知识还是看JavaScript高级程序设计 或者JavaScript权威指南。学完整本书的内容应该能够掌握大部分知识了吧,我觉得。因为自己还在学习当中,不好下结论。
另外上次有人在 V2EX 上发了个 如何正确学习 JavaScript
的链接, 我顺便贴上来吧。
里面的内容是围绕 JavaScript 高级程序设计 和 JavaScript 权威指南写的,如果还没有这两本书最好去买本吧。
搭车请教一下, Python 和 PHP 真的比 JavaScript 简单吗?对于入门来说。我本来自己打算先学好 JavaScript 和基础的 HTML 和 CSS 再去系统学习 PHP 或者其他后端语言。如果说 Python 和 PHP 真的比较容易入门,那么有什么好方法入门呢?
& & 12:23:14 +08:00
你不明白说明你没有基础,先看一些基础的书吧。可以翻翻Code Complete里面讲数组、对象。
& & 12:34:00 +08:00
@ 老兄讲的非常符合我现在的情况,主要还是问题是基础差了,谢谢
& & 12:34:56 +08:00
要有目标(例如必须要在短期解决的问题)才会有动力, 然后边看边实践.
& & 12:37:04 +08:00
先找本书或者网络教程学习一下基础语法之类的
看书的时候不容易理解也没关系, 看过去, 有了后面的知识回头再去研究前面不明白的地方就豁然开朗了
& & 12:40:06 +08:00
买了一本书研究中~~
& & 12:42:28 +08:00 via Android
因为你没有了解过内存层面的东西,所以对数组没有具体的认识。
但是,记住它的特点就好,用久了就知道了。
& & 12:42:46 +08:00
一本语言精萃足已
& & 12:43:00 +08:00 via Android
有一种学习方式叫Bug驱动学习
& & 12:43:37 +08:00
语言精粹用来自学不是什么好选择。。。
& & 12:44:59 +08:00 via Android
@ 怎么可能足矣,人家没有其他语言基础,连数组是什么都没理解
& & 12:46:18 +08:00 via iPhone
先玩jquery吧。玩熟了再研究javascript。
jquery很容易上手。
& & 12:49:31 +08:00
你学习的姿势不对
& & 13:03:59 +08:00
别听那些说要学别的语言的, 光装环境就烦死人.
学习要有一个目标才能学好, 没有目标跟容易在原地踏步, 所以先给自己定个目标, 比如幻灯片等等
至于对象, 闭包什么的, 那些都是概念, 不理解也不要紧, 会用即可, 用多了自然就会了.
同样推荐从jquery入门, 你有了基础, 看jquery会更方便, 推荐过一遍w3school上面的教程.
PS: 生活中喜欢学习的真难找啊, 网上到是有很多.....
& & 13:09:25 +08:00
别死看书(除非是要考试),想想有啥想做的小玩意,努力做出来。然后再回过头来看书。
现在不是很多想
这样在线学习的网站,可以看看
& & 13:11:34 +08:00
别怕,学Javascript是有用的,web现在呈现一个js大一统的趋势,学Javascript大方向上错不了。
但是Javascript是一门设计很不完善的语言,很多琐碎的语法细节会让你花掉很多时间。
建议还是结合到具体项目来学习。我说的项目不用很大,比如自己打个博客什么的就够了。
& & 13:19:18 +08:00
你以前学过其他的语言吗?
& & 13:28:38 +08:00
我推荐先学 jQuery,比原生 API 容易上手。
其实入门的第一步是 w3school(去操作一下里边的演示,然后随便修改、运行一下),然后是一本详细的书(比如 JS 权威指南 6),下一步是学习高级用法(面向对象、设计模式什么的),最后是应用(随时参考 MDN、webplatform 的文档)
& & 13:33:54 +08:00
@ 没有学的其它的语言
& & 13:40:48 +08:00
在线教程看这里:http://www.w3school.com.cn/js/index.asp,可以参考。
学JAVAScript先看基础教程语法,弄懂逻辑,学下基本算法(类是数据结构),看例子
推荐这本书:《JavaScript高级程序设计(第3版)》http://product.dangdang.com/.html#ddclick?act=click&pos=_1_p&cat=01.00.00.00.00.00&key=javascript&qinfo=&pinfo=411_1_72&minfo=&ninfo=&custid=&permid=&ref=http%3A%2F%2Fsearch.dangdang.com%2F%3Fkey%3Djavascript%26category_path%3D01.00.00.00.00.00&rcount=&type=&t=0
希望对你有帮助
& & 13:42:20 +08:00
现在一般都是事件驱动式学习。
& & 13:42:53 +08:00
& & 13:43:41 +08:00
@ 事件驱动式学习是如何学习?
& & 13:50:36 +08:00
@ 就是有需求、有任务,然后针对这个任务,去学习。
也可以理解为“目标”
& & 13:52:18 +08:00
常用的算法Javascript版参考这里http://www.nowamagic.net/librarys/veda/detail/167
& & 13:54:43 +08:00
1. JavaScript DOM编程艺术 这本书最好的地方在于你不需要关心javascript是什么就能做出一些效果来,让新手有兴趣玩下去
2. javascript 是一门语言,dom 不是javascript的一部分 dom 是 Document object model 就是浏览器提供的用来操作文档的一种办法,但它本身是低级或中级的api,也就说面向的应用方式相对底层,所以用起来很不方便,不同的浏览器实现也有差异,所以用一些dom 库会更好,如jquery,要分清楚什么是语言,什么是平台提供的api。
3. 因为大部分时候javascript面对的平台是浏览器(node.js是另一个方向),所以可以通过实现一些浏览器上的小功能去学习,jquery是个易用的东西,他能帮助很容易你将学习到的javascript的语言特性呈现出来。
4. 现在这个阶段了解原生的dom接口意义并不大,因为像jquery,mootools,yui这些库已经把dom能做到的99%的事情都实现了,能用更方便的接口为什么要用原生呢,用原生本身就是对项目的不负责,因为跨浏览器本身会遇到的问题比你想想的要多太多了,如果看过一些库源码相信可以了解到,不但会降低项目的稳定性,还会带来各种维护性问题。
推荐的书目:
1. javascript 权威指南(David Flanagan)
2. JavaScript高级程序设计(Nicholas C. Zakas)
3. javascript 语言精粹(Douglas Crockford)
4. JavaScript设计模式(Addy Osmani)
& & 13:54:49 +08:00
成长是有个过程的。我当时也经常在问自己,虽然现在JS很久没写,感觉也差不多。懂了语法,剩下的只有算法要靠自己想了。
& & 13:54:57 +08:00
同意“就是有需求、有任务,然后针对这个任务,去学习。”
@
这个方法比较好。
在有Javascript基础的前提下,找一个具体的代码去读,去练习。
我的VBSript就是这么学习的
& & 13:57:38 +08:00
@ JS 不太需要其他语言的基础就可以学习的
& & 14:11:35 +08:00
&现在的问题是,我还是不明白什么是对象,什么是数组,什么是闭包,怎么隐藏全局变量,等&
这些程序概念的出现都是为了解决特定问题的,显然你没有遇到,或者还没正视这些问题。
刚开始编程的时候,你肯定会用大量的变量,x y z x0 x1 x2 ... 越来越多,多到你都不知道要怎么给它们起名字,(除非你还在写很小的程序),数组就是为了帮你分组一些数据用的。
somethings = [...]
你再也不用去给里面的东西起名字了,而可以通过索引来引用它们 somethings[0] somethings[1] somethings[2] ...
然后你会学到循环,连索引都不用自己打了,用循环变量来统领它们。
for(i=0;i&i++) doSomething(somethings[i]);
然后你会接触到越来越强大的指令,编程的过程就是循序渐进的。
对象可以让你以更宏观的角度去解决问题。
闭包可以让你区分或隐藏数据(不要问我为什么要隐藏)。
不过我还是不理解你为什么会吃力……有人逼你一个星期要学完吗?
& & 14:26:14 +08:00
@ 讲的太好了,用很直白的语言说明了JS的对象,数组等起的作用;
吃力是因为学一个知识点,需要很长时间的理解和不断的练习才明白它要作用和用法
& & 14:31:08 +08:00
@ 多动手,多看书,耐心。一个概念没看懂,就换几本书看,不同的书会从不同的侧面来解释同样的事物。当你看懂了,再回过头就很容易了。
“然后重新去看JavaScript DOM编程艺术,感觉很容易上手,没有刚刚开始看时的迷惑”
这就是一个很好的开始。
& & 14:53:30 +08:00
JavaScript高级程序设计(Nicholas C. Zakas)
& & 14:56:49 +08:00
嗯 你是过来人 哈哈
& & 14:58:40 +08:00
&& 你再也不用去给里面的东西起名字了,而可以通过索引来引用它们 somethings[0] somethings[1] somethings[2] ...
Bad practice.
建议一定要节省变量或者有一定洁癖的话,用Object搞定。
var setting = { url: '', type: '' };
这样比 var url = '', type = '';简洁。
但是不给变量起名字,相当于 var a=0, b=0, c=0;,很明显不符合规范。
& & 15:09:23 +08:00
风格习惯是一回事,但我想表达是这样的例子,我看过很多同学这样写程序(当然,是在他们还不懂数组的时候):
var ball0 = new Ball();
var ball1 = new Ball();
var ball2 = new Ball();
// loop
ball0.update();
ball1.update();
ball2.update();
ball0.render();
ball1.render();
ball2.render();
...
而用数组就不再需要起这么蹩脚的名字了:
var balls = [];
for(var i=0;i&i++) balls.push(new Ball());
// loop
for(var i=0;i&i++) {balls[i].update(); balls[i].render()};
& & 15:19:20 +08:00
你上面的例子本身就需要用到数组,因为是大量建立同一类型的对象。为了后期对这些对象进行批量维护,也需要建立数组。
但是 “你再也不用去给里面的东西起名字了,而可以通过索引来引用它们” 这句是不对的。因为在很多情况下,建立变量(好吧,其实你建立的数组也是一个变量的值)来储存数据并不适用你说的情况。比如要建立一个配置表,之类。
代码是给人读的,保持易读性相当重要。
& & 16:34:52 +08:00
为何非常吃力……,我觉得js是超级蠢的语言了,弱类型而且很多情况不用考虑溢出……
& & 16:39:03 +08:00
@ 我也是看完《javascript DOM 编程的艺术》后选择这本《JavaScript高级程序设计(第3版)》来看的。
& & 17:03:15 +08:00
不建议初学者学习js
& & 17:06:22 +08:00
Javascript非常接近两门门非常优秀的语言(C + Lisp). 其实javascript也非常优秀。
推荐看这两本书,很薄,很无压力:
Javascript Good Part
Functional Javascript
踩坑踩怕了,看这个:
建议跟着这里的教程学一遍:
书,推荐: turing的《Javascript 基础教程》
《Javascript高级编程》,不推荐。如果没有大量的js实战做经验,这本书属于自虐。
《Javascript权威指南》,不推荐,理由同上。此书的厚度等同于新华字典,通读纯属自虐。当工具书翻看非常合适。
关于DOM方面,看书不合适,看“编程艺术”类的书更不推荐,没有大量经验,不踩大量坑,对此类书不会有什么共鸣,反而会对初学者造成很多束缚。
学习DOM推荐w3cschool的文档,过一遍非常轻松.
& & 17:15:32 +08:00
javascript的dom操作很蛋疼 所以我觉得还是python php好 一边写网站一边练js
& & 17:18:25 +08:00 via Android
所以我个人觉得那个入门先学C的年代挺好的,我是从C入门的,后面的学习理解起其他需要来都还是很快的。
& & 17:24:52 +08:00
有关看技术类的书籍我来说一下吧,像楼主那么看,一章看几个星期,看不懂是正常的,不懂的东西,再盯着看也不一定懂。读书一定要快,迅速看完一本书,能记住多少就记住多少。离散的点多了,就串成线了。。。在没有认识自然数的时候,就想找到1~10中所有的点,是不太现实的。
& & 17:33:59 +08:00
@ 不明白什么是对象,什么是数组,什么是闭包
这个不是JS的问题,而是计算机编程基础,看来LZ没有计算机专业的背景啊,需要了解一些计算机编程的基础,任何一门语言C/C++/Java/C#入门比较推荐,另外就是基本的数据结构和算法
如果LZ学过C啊,数据结构算法啊之类的,学学JS也还不错
如果LZ真的是完全从零开始学编程,JS确实不是很推荐,对以后的学习可能会造成不好的影响
而且你说的书基本上都对你来说太难了,因为你很多基础概念不熟悉,不知道所以然
另外JS最麻烦的地方就是 DOM操作 面向对象编程 以及 闭包,这些东西至少要你比较了解基本的程序开发,数据结构和熟练使用简单的JS或者jQuery之类的类库之后再慢慢啃
& & 19:59:32 +08:00
先有别的语言的基础当然会学的快……所以个人感觉重点在于没有捷径……
& & 20:15:12 +08:00
我认为,没有编程基础的时候还不适合学 JavaScript,这门语言多少有点非主流,建议先通过 C 或者 C++ 来学习一下最基本的编程,把对象、数组、作用域这些东西理解了,再学 JavaScript。按这样的流程,你应该会觉得 JavaScript 这门语言本身很简单、很单纯,需要下功夫的地方是活用、善用。
《JavaScript DOM 编程艺术》这本书是最早让我迷上 JavaScript 的书。把书上代码都敲下来,一个 Demo 就出来了,这 Demo 比其他语言在终端里面的 output 生动太多了,兴趣一下子就上来了。当然,这本书里涉及的知识还是比较窄的,系统学习还需要其他的书。
& & 20:33:17 +08:00
& & 21:04:01 +08:00
javascript哪里接近lisp了。。。
& & 21:08:32 +08:00
@ 谢谢提醒
& & 21:31:40 +08:00
@ 为何是@我…………
& & 21:39:04 +08:00
学js时花了几天写了个chrome插件,算是了解了语法
我觉得些chrome插件不错,学习的时候可以把重心放在js语言上
& & 22:12:48 +08:00
@ &我觉得js是超级蠢的语言了,弱类型而且很多情况不用考虑溢出……&
我把&超级蠢&理解成“烂”。
我一直很喜欢javascript这门语言,希望能推广一下javascript好的部分,减少对js误解。
P.S:
&弱类型而且很多情况不用考虑溢出……& 求详解.
& & 23:06:13 +08:00 via iPad
& & 23:06:41 +08:00
必然是项目驱动学习更好啊,最近实习要做网页,看了看就得上手了,用到不会的立马google,然后现学现用,学起来很快的。不要想把细节问题搞清楚,有些坑说不定一辈子也碰不到,所以先掌握核心,遇到了自然再搜
& & 23:19:46 +08:00
如果致力向前端发展,这儿有个前端知识结构,明确大的行进方向
& & 23:31:01 +08:00
寒假刚开始在Codecademy上面学Javascript现在学到对象 觉得挺好上手的 在学校有C++的基础什么觉得相比之下简单了很多http://www.codecademy.com/
& & 08:16:08 +08:00
@ 哥们儿,我觉得你说的很有道理,我就一直这么做的
& & 09:44:33 +08:00
找个让自己开心的学习途径,我跳跃度高,你看不懂的话自行补充:
1 做码农最需要的是要会“拼.字.符.串”,跟什么计算机基础关系不大,好好练习object,string,array,正则(一点点)就可以了(此时此刻别碰jq)
2 然后遇到前端的实战了,需要搞dom,打开jq源代码,认真了解jq关于dom处理的每个方法怎么写的,为啥这么写。
3 其他的诸如ajax什么的参见上一条
帮你减轻负担:
*市面上大部分的书都是参考资料不是实战指导,用不着天天抱着个参考资料死磕,除非你已经有其他语言的底子,多参与实战吧,github上有“todo项目”
,自己独立做一次,你肯定就入门了。
*别对框架太认真,包括jq在内都不是必须的,他们只不过是学习资料而已。
& & 09:45:27 +08:00
看看 CoffeeScript?
JS 本身不是严谨的语言, 语法比较杂, 用 CoffeeScript 这个子集会好一点,
结合任务做做具体的例子会比较好, 不要急着去理解 JS 具体的意思.
难道没有人和楼主说过 JS 其实是个大坑么?
& & 09:50:08 +08:00
@ 比起php什么的,js简直就是跳板了。
& & 10:08:56 +08:00
有一个建议是,在学javascrip的时候,千万千万不要碰jQuery...
& & 10:12:24 +08:00
各种库用多了,开始确实比较想不通,也没必要一定跟着某些书的思路走。
& & 11:28:12 +08:00
@ 我师傅也跟我说过这样的话,所以目前的学习方法只学原生,jQuery暂时不碰它
& & 11:39:24 +08:00
请直接学angular, javascript 本身由于10天设计出来的语言,问题很多. 建议从框架入手.
而且现在是2014年了, 请直接从angular开始学. 或者是ember, 等. 然后在去学习什么DOM操作什么的
& & 11:46:38 +08:00
和楼主一样,第一本js书是这本JavaScript DOM编程艺术,后来发现看错书了,里面基础知识讲得太少,《JavaScript高级程序设计》必须要买,但是这本书也有缺点,提到太多其他语言(java)了,java也不懂肿么办,只有慢慢啃了,我相信,花多点时间,一定有所成。
& & 13:29:30 +08:00
& & 14:49:12 +08:00
@ 我说js是很蠢的语言是指,相对于其他传统高级语言,C,C++,java,js的限制非常的少,数据结构之间的转换非常简单,而且基本不用考虑语法和算法问题,弱类型也是这个意思
& & 16:41:08 +08:00
分享一下全无编程基础学JS的过程,
第1个月,看一套入门视频,对HTML,CSS,JS有个初步概念,练习
第2,3月,犀牛书(很无聊),W3School,中间断断续续,看见什么好玩就玩什么,HighCharts,bootstrap,jQuery,用框架可以很快做出炫酷的东西来,成就感会让人继续学下去。
第4月,正好选了个相关的毕业设计题目,做一个完整的静态网站。
...
后来,研究JavaScript高级程序设计,编写高质量代码,高性能JavaScript,JavaScript设计模式这几本
------
总结一下学JS要循序渐进,每个阶段要看适合该阶段的书,理解是基于实践经验的
& & 21:48:19 +08:00
@ 强类型/弱类型, 编译型/脚本型,各有优势没什么好讨论的,看个人喜好。
关于算法,主要使用js的场景很少会考虑的算法问题。javascript支持high-order function,做算法也非常优秀。
一个“平均阻尼”法的算法,找函数的不动点。
Lisp实现:
(define tolerance 0.00001)
(define (fixed-point f first-guess)
(define (close-enough? v1 v2)
(& (abs (- v1 v2)) tolerance))
(define (try guess)
(display guess)
(let ((next (f guess)))
(if (close-enough? guess next)
(try next))))
(try first-guess))
Javascript实现:
var toerance = 0.000001;
function fixed_point (f, first_guess) {
function close_enough (v1, v2) {
var delta = Math.abs(v1 - v2);
return delta &
function tryit (guess) {
console.log(guess);
var next = f(guess);
if (close_enough(guess, next)) {
tryit(next);
return tryit(first_guess);
}
用它算一下 x^x = 1000 的一个根。
fixed_point(function(x) {
return Math.log(1000)/Math.log(x)
& & 21:51:54 +08:00
& & 22:46:59 +08:00
@ 为你认真态度点个赞
& · & 2095 人在线 & 最高记录 3541 & · &
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.1 · 20ms · UTC 11:18 · PVG 19:18 · LAX 04:18 · JFK 07:18? Do have faith in what you're doing.没有更多推荐了,
不良信息举报
举报内容:
一个javascript语法问题
举报原因:
原文地址:
原因补充:
最多只允许输入30个字
加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!结构层:HTML & & & & 从语义角度,描述页面结构
样式层:CSS & & & &
从审美的角度,美化页面
行为层:JavaScript & 从交互的角度,提升用户体验
js:用来制作web页面的交互效果,提升用户体验
2.通过`&script async='async'&`标签引入,可放在head里面,为减少加载时间,一般放在body最后
3.建议通过link引入
type="text/JavaScript"可以省略
Sync:同步,一个人有序的做多件事
Async:异步,多个人有序的做多件事情
async='async'和defer='defer'都是异步下载,区别在:
async='async'是立即异步下载外部JS,不影响页面其它的操作,js下载完毕立即执行;
defer='defer'是在js,css整个文档都下载完后再执行,只有外部脚本可以使用
a,如果字符串中有单引号,就用可引号
b,如果字符串内容中单双引号都有,就用转译符,在引号前用。常用的转译符有:\"、换行\n、缩进\t
var b ="ture";
var c = a ==
console.log(c); //输出false
// 判断NaN:IsNaN翻译:是一个非数字:如果是数字ture
var a ="abc";
var b =123;
console.log(a-b);
console.log(isNaN(a-b)); // 输出ture
// 作用:用来表示数字的一种不正常的状态(一般会在计算出现错误时出现)。
// 特殊:特殊到自己都不等于自己
var a =NaN;
var b =NaN;
var c = a ===
console.log(c); //输出false
& & & 内存:运行内存(电脑运行的同时可以保存数据,断电后清空)
& & & 内存条:加大运行内存
& & & 硬盘:存储空间的大小 4G 32G
(断电不会清空)
alert():弹出一个提示信息框 - 位置不能改变,不能拖动,不能关闭。其实浏览器的进程已经被暂停了 -- 只能在任务管理器来关闭。
console.log() 向控制台输出内容 作用:用于代码的调试 应用:招聘
prompt()输入框:使用浏览器输出自己输入的内容
var:声明变量的关键字
var a = "123"
var b = "456+123"
console.log(a);
console.log(b)
console.log(a+b)
1)变量必须以字母开头
变量也能以 $ 和 _ 符号开头(不过我们不推荐这么做)
class,id的命名规则:只能由英文字母、数字、下划线以及连接符组成,并且数字不能放在开头
如果名称以下划线开头,那么后面直接跟数字也是可以的;class,id不可以
2)变量的命名,不能使用javascript中的关键字和保留字 关键字:已经被javascript内部使用过的 保留字:还未被javascript内部使用过,但可能有一天会被用到(备胎)。
3)区分大小写
var a ="123";
console.log(typeof a);
-- 控制台显示string
var b =123;
console.log(typeof b);
-- 控制台显示numbe
等价于 var a =10;
& & var a = 2;
& & var b = 3;
& & var c = a++ + b++;
//a++:a = a+1;
//后加:先进行运算,再加1
//var c = a+b;a=a+1;b=b+1;
var d = ++a + ++b;
console.log(a);
console.log(b);
console.log(c); & //输出5
console.log(d); & //输出7
优先级:!非
&&与 & ||或
5、== 是否相等,仅仅是数据的内容,没有判断数据的类型
6、=== 判断是否全等
7、!= 不等于
8、!== 不全等
var a,b,c;
结构:bolean表达式?操作一:操作二;
& //判断a和b的大小
a&b?alert(a):alert(b);
& //判断a是否大于b,如果a大于b成立,输出a;否则输出b
--即if else的简写
//判断a,b,c的大小
(a & b ? a:b) & c ? alert(a & b ? a:b):alert(c);
& //先找出a和b中的大的,再与c比较
注:优先使用全等和不全等的操作符!
1. +号: 加号的作用:
a,连接两个字符串,连接作用
b,两个数值中间的+,是运算作用
c,字符串与数值之间的+,是连接
2.-减:两个number间的操作
3.*乘:两个number间的操作
4./除:两个number间的操作
5.%取余(取模):两个number间的操作
6.10取余(取模)3
7.()作用:改变计算优先顺序
8.Math对象(面向对象;万物皆对象)万物皆盒子
1)Math.pow(a,b); //得到a的b次方
2)Math.round(a); //四舍五入
3)Math.ceil(a);
//向上取整
4)Math.floor(a);
//向下取整
5)Math.max(a,b,c); //取三个数中的最大值
6)Math.min(a,b,c);
7)Math.random();
//生成随机数(0-1之间)
& 拓展:生成1-50的随机数
var f =Math.random()*49+1; & & & & & & & & & & &
console.log(f);
8)Math.pow(a,1/3);//立方根
var a = Math.pow(2,10);
console.log(a);
var b =Math .round(3.38);
console.log(b);
运算符 & & & & & & & & & & & & & & & &
描述 & & & & & & & & & & &
++ -- - + ~ ! delete new typeof void
一元运算符、返回数据类型、对象创建、未定义值 &
* / % & & & & & & & & & & & & & & &
乘法、除法、取模 & & & & & & & &
+ - + & & & & & & & & & & & & & & &
加法、减法、字符串连接 & & & & & & &
&& && &&& & & & & & & & & & & & & &
移位 & & & & & & & & & & &
& &= & &= instanceof & & & & & & &
小于、小于等于、大于、大于等于、instanceof
== != === !== & & & & & & & & & & &
等于、不等于、严格相等、非严格相等 & & & &
&& & & & & & & & & & & & & & & & &
逻辑与 & & & & & & & & & & &
?? & & & & & & & & & & & & & & & &
逻辑或 & & & & & & & & & & &
?: & & & & & & & & & & & & & & & &
条件 & & & & & & & & & & &
= & & & & & & & & & & & & & & & & &
赋值、运算赋值 & & & & & & & & &
下表按从最高到最低的优先级列出JavaScript运算符。具有相同优先级的运算符按从左至右的顺序求值。
通过prompt输入的数据类型是string,不管是123,还是具体的汉字
var a=prompt("请输入一段内容");//输入4
var b =a+1;
console .log(b);//输出41
//想要输出5:
var a=prompt("请输入一段内容");
a=number(a);//将原来的字符串a转换成number类型
var b =a+1;
console .log(b);//输出5
console.log(typeof (a));//输出number
a,如果要转换成数字,输入的内容必须是纯数字,否则NaN.
b、如果内容是空的,转换成0
c、如果是小数,小数会保留
d、如果字符串中包含非以上格式,则将其转换为NaN
var a ="123.abc";
a = parseInt(a);
console.log(a);//输出123
console.log(typeof (a));//输出number
b、如果第一个是数字,就继续解析直至字符串完毕或者遇到非数字符号为止
与parseInt一样:唯一区别:能保留小数
a = Number(a);
console.log(a);
console.log(typeof (a));
& var a = 123;
a = a.toString();
console.log(a);
console.log(typeof (a));//string
直接调用.toString方法可以将内容直接转成字符串
var a = 123;
a = string(a);
console.log(a);
console.log(typeof (a));//string
直接将要转的内容放在string后的括号中
区别:一是直接调用这个变量对象的方法, 第二个是强制转换
a = Boolean(a);
console.log(a);
console.log(typeof (a));
注意:除了false、空字符""、0、NaN、undefined在转换时会转成false,其余都会转成true
+a a-0 a*1 a/1 a%1
var a = "123";
console.log(a);
console.log(b);
console.log(typeof (a));
console.log(typeof (b));
var a = 123;
a = a + "";
console.log(a);
源码中被JavaScript引擎忽略的部分就叫做注释,它的作用是对代码进行解释。Javascript提供两种注释:一种是单行注释,用 // 起头;另一种是多行注释,放在 /* 和 */ 之间。
只有在js创建的时间,在函数时,推荐使用多行注释/** */。其余时间多行注释易出现问题
if_else: 可以判断2个条件
if_else if_else 判断多个条件
var a = prompt("带了多少钱");
if(a&300){
console.log("你的钱超过了300,请吃饭");
else if(a&200){
console.log("你的钱不够300,够200,请吃快餐");
console.log("明天记得带够");
console.log("程序结束") 18:06:39
大括号后不能加分号
程序运行到if之后,判断if括号里的条件,如果条件满足,则执行内容;如果不满足,就不会执行;只会执行一个!
a、大括号后不能加分号;
b、代码不支持连写:90&pj&100,只能90&pj&&pj&100;
var a = prompt("请输入今天星期几对应的数字");
switch (a) {
alert("您输入的是星期一");
alert("您输入的是星期二");
alert("您输入的是星期三");
alert("您输入的是星期四");
alert("您输入的是星期五");
alert("您输入的是星期六");
alert("您输入的是星期日");
alert("你输入什么鬼");
a,打开要查看的页面
b,打断点,刷新页面,会发现命中了断点
c,鼠标放在变量名上,会发现输入值
-1995年,Netscape公司开发一个脚本语言,叫LiveScript,用于做验证的。为了推广,利用当时最火的Java词汇,改名JavaScript.-netscapt是第一款浏览器
03年以前,牛皮癣广告,很被排斥
04年谷歌用js技术来做ajax技术
07年,乔布斯发布第一代苹果,移动端页面开始发展
10年,html5推出画布--做游戏。例:切水果
11年,node.js诞生,js从移动端铺开服务器端
浏览器引擎,用来查询和操作渲染引擎
渲染引擎:用来显示请求的内容,负责解析html和css
Javascript interpreter:js解析器,负责执行js
notworking网络:负责发送网络请求
是世界上用的最多的脚本语言。脚本语言:不需要编译,直接运行时边解析边执行的语言
编译:一次性把所有代码转换成cpu可以看懂的语言,一行一行执行
解释:一行一行解析,解析一行执行一行
js是一种客户端的脚本语言
ECMAScript:js的语法规范
DOM:js操作网页上元素的API
BOM:JS操作浏览器部分功能的API
阅读(...) 评论()

我要回帖

更多关于 javascript语法规则 的文章

 

随机推荐