记一次两小时的js编程学习

综合编程 2018-06-23 阅读原文

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文档写入字符,对的!就是一种直接写入功能,相当的笨拙。

这里会有更好的解决方案,举个例子:

this is for Rare to test

var item=document.getElementById("1234");
item.innerHTML="这是十八用来测试的"
//这个时候

标签的文本其实已经变为了上面的字符串

备注:
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

3.null

4.0

5.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,没想到写这篇文章比学习的时间还长,先撤了先撤了,有空填坑,回见啦。

简书

责编内容by:简书阅读原文】。感谢您的支持!

您可能感兴趣的

Web assembly and go a look to the future It's no secret that I'm resistant to learning Javascript and frontend development. I learned HTML back before CSS was even a thing, and even Javas...
JS: Obtain the .html &lpa... I have the following code:CITYWA DE NY NY SDSTATE$('#cities').on('change', function(val) { $('#states').val(val.htm...
Use function composition in JavaScript Prerequisite: I use currying in this post, so if you don't know about that, I encourage you to read my previous post: Currying in Javascript ...
一道题引发的EventLoop思考 async function async1() { console.log("async1 start"); await async2(); console.log("async1 end"); } async function async2() { console.log( 'asy...
重新发现客户端编程的力量 互联网已经占领世界,B/S架构取代了C/S架构,人们无时无刻都在享受服务端海量数据编程带来的便捷。而JavaScript作为一门互联网语言,让人们逐渐又发现了客户端编程的力量。 传统上讲的B/S架构,往往指通过一个网页与后端程序交互。这种交互最大的优点就是轻便,速度快,不臃肿。而其缺点也...