java编程学习经验:JavaScript学习心得

Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。

给你学习路线:html-css-js-jq-javase-数据库-jsp-servlet-Struts2-hibernate-mybatis-spring4-springmvc-ssh-ssm

用Java也有段时间了,现在想想当时学这个的时候,也是挺辛苦的,所以成就感油然而生.刚开始学些基础的,Javaweb轻量级软件开发,当时作为新手而言看的这本书,在我觉得这本书还是不错的,没有基础的同学可以在逗逼的气氛中搞定基础语法、体会面向对象的思想,有编程基础的同学也会发现原来技术书也可以写成这样!厉害了...Java是目前最流行的编程语言之一——它可以用来编写Windows程序或者是Web应用,移动应用,网络程序,消费电子产品,机顶盒设备,它无处不在,下面就来说说我在学习的时候遇到的一些问题,简单谈谈在下的心得吧!也希望大家多指教了.

其实基础一些的还好.我想说说JavaScriptJavaScript 是脚本语言,是一种轻量级的编程语言,是可插入 HTML 页面的编程代码,插入 HTML 页面后,可由所有的现代浏览器执行。JavaScript 是与 HTML 和 CSS 结合运行在浏览器中,强大且富有表现力的语言。基于一个叫做 ECMAScript 的开放标准,JavaScript 快速的发展成为“网络的编程语言”。jQuery 所有的力量都来自于 JavaScript,所以无需赘言,它是一门值得学习的重要语言。拥有 JavaScript 的基础知识,会对理解,构建和调试代码很有帮助。如果你想学习Java可以来这个群,首先是二二零,中间是一四二,最后是九零六,里面有大量的学习资料可以下载。

小编推荐一个学Java的学习裙【 六五零,五五四,六零七 】,无论你是大牛还是小白,是想转行还是想入行都可以来了解一起进步一起学习!裙内有开发工具,很多干货和技术资料分享!

下面还是列举一些关于这方面的问题吧,看过之后大家应该也就清楚了

第一个

{a:1}.a报错,错误Uncaught SyntaxError: Unexpected token .。

解决:

({a:1}.a) // 或({a:1}).a

对象字面值不能正确解析

第二个

123.toFixed(2)报错,错误Uncaught SyntaxError: Unexpected token ILLEGAL

解决:

(123).toFixed(2) // >> "123.00"// 以下两种都可以,但完全不推荐123..toFixed(2)123 .toFixed(2)

数字的点操作符

第三个.

尝试解释下连等赋值的过程。下面的代码为什么是这样的输出?

var a = {n:1};var b = a; a.x= a = {n:2};console.log(a.x);// --> undefinedconsole.log(b.x);// --> {n:2}

连等赋值问题

第四个

下面的代码返回什么,为什么?

var x =20;var temp = { x:40,foo:function() {var x =10;returnthis.x; } }; (temp.foo, temp.foo)(); // 20,而不是40

逗号操作符

第五个

parseInt传入数字时为什么有以下输出?

parseInt(0.000008) // >> 0parseInt(0.0000008) // >> 8

parseInt传入数字

也不说那么多了,简单说这几个吧,下面给大家分析一下吧

第一个

声明对象字面值时,语句开头不应该用

{

,因为js解释器会认为这是语句块(

block

)的开始。

同理,类似问题

{ name: "mc", id: 1 }

会报错

Uncaught SyntaxError: Unexpected token :

也是这个道理。

({ name: "mc", id: 1 })

即可正确解析。但稍注意下,

{name: "mc"}

是不会报错的,它等同于

name: "mc"

,并返回一个字符串

"mc"

第二个

很简单,js解释器会把数字后的

.

当做小数点而不是点操作符。

第三个

我们可以先尝试交换下连等赋值顺序(

a = a.x = {n: 2};

),可以发现输出不变,即顺序不影响结果。

那么现在来解释对象连等赋值的问题:按照es5规范,题中连等赋值等价于

a.x = (a = {n: 2});

,按优先获取左引用(

lref

),然后获取右引用(

rref

)的顺序,

a.x

a

中的a都指向了

{n: 1}

。至此,至关重要或者说最迷惑的一步明确。

小编推荐一个学Java的学习裙【 六五零,五五四,六零七 】,无论你是大牛还是小白,是想转行还是想入行都可以来了解一起进步一起学习!裙内有开发工具,很多干货和技术资料分享!

(a = {n: 2})

执行完成后,变量

a

指向

{n: 2}

,并返回

{n: 2}

;接着执行

a.x = {n: 2}

,这里的

a

就是

b

(指向

{n: 1}

),所以

b.x

就指向了

{n: 2}

第四个

逗号操作符会从左到右计算它的操作数,返回最后一个操作数的值。所以

(temp.foo, temp.foo)();

等价于

var fun = temp.foo; fun();

fun

调用时

this

指向

window

,所以返回20。

小编推荐一个学Java的学习裙【 六五零,五五四,六零七 】,无论你是大牛还是小白,是想转行还是想入行都可以来了解一起进步一起学习!裙内有开发工具,很多干货和技术资料分享!

第五个

parseInt(arg)

时会调用

arg.toString()

(0.000008).toString() // "0.000008"(0.0000008).toString() // "8e-7"

到此今天的谈论就结束了,虽然说文章不是很详细,但也希望可以帮到大家

你可能感兴趣的:(java编程学习经验:JavaScript学习心得)