be a geek-从零开始学编程三:无处不在的javascript 2
来源:互联网 发布:上海淘宝模特兼职招聘 编辑:程序博客网 时间:2024/06/05 08:35
无处不在的Javascript
Javascript现在已经无处不在了,也许你正打开的某个网站他可能是node.js+json+javascript+mustache.js完成的,虽然你还没理解上面那些是什么,也正是因为你不理解才需要去学习更多的东西。但是Javascript已经无处不在了,可能会在你手机上的某个app里,在你浏览的网页里,在你IDE中的某个进程中运行的。
从数学出发
让我们回到第一章讲述的小明的问题,从实际问题下手编程,更容易学会编程。小学时代的数学题最喜欢这样子了——某商店里的糖一个5块钱,小明买了3个糖,小明一共花了多少钱的问题。在编程方面,也许我们还算是小学生。最直接的方法就是直接计算3x5=?
document.write(3*5);
document.write实际也我们可以理解为输出,也就是往页面里写入3*5的结果,在有双引号的情况下会输出字符串。我们便会在浏览器上看到15,这便是一个好的开始,也是一个不好的开始。(转载保留:be a geek 3:无处不在的javascript 2)
设计和编程
对于我们的实际问题如果总是止于所要的结果,很多年之后,我们成为了code monkey。对这个问题进行一次设计,所谓的设计有些时候会把简单的问题复杂化,有些时候会使以后的扩展更加简单。这一天因为这家商店的糖价格太高了,于是店长将价格降为了4块钱。
document.write(3*4);
于是我们又得到了我们的结果,但是下次我们看到这些代码的时候没有分清楚哪个是糖的数量,哪个是价格,于是我们重新设计了程序
tang=4;num=3;document.write(tang*num);
这才能叫得上是程序设计,或许你注意到了";"这个符号的存在,我想说的是这是另外一个标准,我们不得不去遵守,也不得不去fuck。
函数
记得刚开始学三角函数的时候,我们会写
sin 30=0.5
而我们的函数也是类似于此,换句话说,因为很多搞计算机的先驱都学好了数学,都把数学世界的规律带到了计算机世界,所以我们的函数也是类似于此,让我们做一个简单的开始。
function hello(){ return document.write("hello,world");}hello();
当我第一次看到函数的时候,有些小激动终于出现了。我们写了一个叫hello的函数,它返回了往页面中写入hello,world的方法,然后我们调用了hello这个函数,于是页面上有了hello,world。
function sin(degree){ return document.write(Math.sin(degree));}sin(30);
在这里degree称之为变量,也就是可以改变的量。 于是输出了-0.9880316240928602,而不是0.5,因为这里用的是弧度制,而不是角度制。
sin(30)
的输出结果有点类似于sin 30。写括号的目的在于,括号是为了方便解析,这个在不同的语言中可能是不一样的,比如在ruby中我们可以直接用类似于数学中的表达:
2.0.0-p353 :004 > Math.sin 30=> -0.98803162409286182.0.0-p353 :005 >
我们可以在函数中传入多个变量,于是我们再回到小明的问题,就会这样去写代码。
function calc(tang,num){ result=tang*num; document.write(result);}calc(3,4);
但是从某种程度上来说,我们的calc做了计算的事又做了输出的事,总的来说设计上有些不好
- be a geek-从零开始学编程三:无处不在的javascript 2
- be a geek-从零开始学编程:无处不在的javascript 1
- be a geek-从零开始学编程:无处不在的Javascript 3
- be a geek-从零开始学编程:无处不在的Javascript 4
- be a geek-从零开始学编程:无处不在的Javascript
- be a geek-从零开始学编程:无处不在的css 1
- be a geek-从零开始学编程一——无处不在的HTML
- 无处不在的JavaScript
- 无处不在的编程思想
- 从零开始学编程(一) 基础的东西
- 从零开始学JavaScript
- Spark从零开始学 三
- 新手从零开始学Qt编程(2)
- 从零开始学win32编程
- To Be a Geek从第一篇博客开始
- GEEK编程练习— —2的次方数
- 从零开始学javascript(二)
- 从零开始学单片机全过程(三)
- JavaScript权威指南 正则表达式的模式匹配 读书笔记
- sql注入绕开过滤的常用方法
- poj2709 Painter
- Android高手进阶教程(三)之----Android 中自定义View的应用.
- PHP5.2.*防止Hash冲突拒绝服务攻击的Patch
- be a geek-从零开始学编程三:无处不在的javascript 2
- 如果一切需要重学,2014年应该学哪些技术?
- C++ int 转换成string
- 解决多进程中使用wait无法避免僵尸进程的方案
- MySQL 中MyISAM 表级锁和InnoDB 行级锁的实现特点
- 黑马程序员03——C语言之文件操作模式
- Objective-C之 UIButton 和 UIImageView 的区别
- UNICODE和ANSI以及MBCS的问题
- 通过构造Hash冲突实现各种语言的拒绝服务攻击