
用java也有段时间了,现在想想当时学这个的时候,也是挺辛苦的,所以成就感油然而生.刚开始学些基础的,javaweb轻量级软件开发,当时作为新手而言看的<head first java(第二版·中文版)>这本书,在我觉得这本书还是不错的,没有基础的同学可以在逗逼的气氛中搞定基础语法、体会面向对象的思想,有编程基础的同学也会发现原来技术书也可以写成这样!厉害了...java是目前最流行的编程语言之一——它可以用来编写windows程序或者是web应用,移动应用,网络程序,消费电子产品,机顶盒设备,它无处不在,下面就来说说我在学习的时候遇到的一些问题,简单谈谈在下的心得吧!也希望大家多指教了.
其实基础一些的还好.我想说说javascriptjavascript 是脚本语言,是一种轻量级的编程语言,是可插入 html 页面的编程代码,插入 html 页面后,可由所有的现代浏览器执行。javascript 是与 html 和 css 结合运行在浏览器中,强大且富有表现力的语言。基于一个叫做 ecmascript 的开放标准,javascript 快速的发展成为“网络的编程语言”。jquery 所有的力量都来自于 javascript,所以无需赘言,它是一门值得学习的重要语言。拥有 javascript 的基础知识,会对理解,构建和调试代码很有帮助。如果你想学习java可以来这个群,首先是二二零,中间是一四二,最后是九零六,里面有大量的学习资料可以下载。
下面还是列举一些关于这方面的问题吧,看过之后大家应该也就清楚了
第一个
<code>{a:1}.a</code>报错,错误<code>uncaught syntaxerror: unexpected token .</code>。
解决:
对象字面值不能正确解析
第二个
<code>123.tofixed(2)</code>报错,错误<code>uncaught syntaxerror: unexpected token illegal</code>
数字的点操作符
第三个.
尝试解释下连等赋值的过程。下面的代码为什么是这样的输出?
连等赋值问题
第四个
下面的代码返回什么,为什么?
逗号操作符
第五个
parseint传入数字时为什么有以下输出?
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}
。至此,至关重要或者说最迷惑的一步明确。
(a = {n: 2})
执行完成后,变量
指向
{n: 2}
,并返回
;接着执行
a.x = {n: 2}
,这里的
就是
b
(指向
),所以
b.x
就指向了
逗号操作符会从左到右计算它的操作数,返回最后一个操作数的值。所以
(temp.foo, temp.foo)();
等价于
var fun = temp.foo; fun();
,
fun
调用时
this
window
,所以返回20。
parseint(arg)
时会调用
arg.tostring()
到此今天的谈论就结束了,虽然说文章不是很详细,但也希望可以帮到大家