JavaScript
特性
1. 弱类型语言
2. 解释型语言
3. 客户端语言
对于有学习 Java,C 以及 Python 一类的人来说, 最熟悉的莫过于这些都是强类型语言. 它们严格的遵守自身的规定, 永远也不会有下面的情况出现, 因为编译的时候会自己抛出错误而终止运行.
- var sum="1"+1
- console.log(sum)
- >>"11"
编译类型则与 Python 的定位比较类似, 它们都是一边执行, 一边解释. 这就是与 Java 这类编译型语言的不同所在. 譬如 Java 就是先编译生成静态的 class 文件, 然后才会利用 jvm 执行.
客户端语言则就是对于浏览器而言. 我们常说的 php 就是一种典型的服务器端语言, 它是执行在 web 服务器的脚本. PHP 在服务器端利用用户传递的数据生成请求的页面, 然后将其发送给用户. 而 JavaScript 则与其相反, 因为它是执行在浏览器中. 只需要将写好的 js 脚本和页面发送给用户, 这个时候用户的浏览器就会自动生成绚丽多彩的网页.
常用交互
window 对象位于 DOM 层级的最顶端, 代表显示页面的浏览器窗口, 而我们则可以利用它完成一系列交互动作.
- alert("Boom!")
- window.alert("Boom, too!") //this is equal to alert("Boom!")
上面是最常见的弹出警告框, 此外还有类似的 window.confirm()和 window.prompt()
- window.document.write()
- document.write() // This has the the same fuction of 'window.document.write()'
大家可能已经注意到在一个窗口中永远包含 window 对象, 所以我们省略不写就会默认使用 window.
而这里 write()函数的功能就是直接向 html 文档写入字符, 对的! 就是一种直接写入功能, 相当的笨拙.
这里会有更好的解决方案, 举个例子:
- <p id='1234'>this is for Rare to test</p>
- var item=document.getElementById("1234");
- item.innerHTML="这是十八用来测试的"
- // 这个时候 < p > 标签的文本其实已经变为了上面的字符串
备注: JavaScript 的每一行的末尾不强制使用;, 这一点和 Python 语言极其的类似.
数据类型
相对其他语言, js 的数据类型也是一般般, 其实并无奇特之处, 当然没有字符这个数据类型需要特别注意一下. 下面介绍它的基本数据类型.
1. 数值
很遗憾的说, JavaScript 似乎并没有具体区分
byte, short, int, long, float 和 double
耶. 就笼统的指定了一个数值类型. 我们需要注意的是, NaN(not a number),Infinity(无穷大)这两个在数值中的特殊存在.
2. 字符串
雷同 C 中的字符串类型 (虽然 C 没有字符串类型). 因为它们的一些函数极其的相似, 比如 concat(), split() 等等. 命名和用法都几乎一摸一样.
3. 布尔值
false 和 true 两个值, 与其他语言中似乎没有任何区别以及特异所在. 注意点: JavaScript 中有类假的概念, 即便不是 false 也会被当做 false 处理, 请注意下面几个值:
1. 布尔值 false
2. 未定义 undefined
- null
- 0
- NaN
6."" 空字符串
面向对象
很遗憾地说, JavaScript 设计的时候肯定没有考虑 OOP(Object-Oriented Programming). 当然即便这样 JavaScript 也提供了多种 new 对象的方式:
1. 创建直接实例
JavaScript 直接内置了一个对象 Object, 可以用来创建一个小白对象, 即空白对象:
newObject=new Object()
是不是与常见的创建对象不太一样, 比如下面这样的:
- // in java
- Class item=new Class();
- // in python
- item=Class()
2. 使用关键词 this
3. 匿名函数
4. 使用构造函数
emmm, 没想到写这篇文章比学习的时间还长, 先撤了先撤了, 有空填坑, 回见啦.
来源: http://www.jianshu.com/p/15f2e1e70720