学习第八天@javascript
第八天学习
问题:
下面的表格列出了其余的特殊字符,这些特殊字符都可以使用反斜杠来添加到文本字符串中:
代码 |
输出 |
\' |
单引号 |
\" |
双引号 |
\& |
和号 |
\\ |
反斜杠 |
\n |
换行符 |
\r |
回车符 |
\t |
制表符 |
\b |
退格符 |
\f |
换页符 |
问题:
换行
您可以在文本字符串内部使用反斜杠对代码进行折行。下面的例子是正确的:
document.write("Hello \
World!")
但是不能像这样折行:
document.write \
("Hello World!")
问题:
操作日期
通过使用针对日期对象的方法,我们可以很容易地对日期进行操作。
在下面的例子中,我们为日期对象设置了一个特定的日期 (2008 年 8 月 9 日):
var myDate=new Date()
myDate.setFullYear
(2008,7,9)
注意:表示月份的参数介于 0 到 11 之间。也就是说,如果希望把月设置为 8 月,则参数应该是 7。
在下面的例子中,我们将日期对象设置为 5 天后的日期:
var myDate=new Date()
myDate.setDate
(myDate.getDate()+5)
注意:如果增加天数会改变月份或者年份,那么日期对象会自动完成这种转换。
问题:
定义数组
数组对象用来在单独的变量名中存储一系列的值。
我们使用关键词 new 来创建数组对象。下面的代码定义了一个名为 myArray 的数组对象:
var myArray=new Array()
有两种向数组赋值的方法(你可以添加任意多的值,就像你可以定义你需要的任意多的变量一样)。
1:
var mycars=new Array()
mycars[0]="Saab"
mycars[1]="Volvo"
mycars[2]="BMW"
也可以使用一个整数自变量来控制数组的容量:
var mycars=new Array(3)
mycars[0]="Saab"
mycars[1]="Volvo"
mycars[2]="BMW"
2:
var mycars=new Array("Saab","Volvo","BMW")
注意:如果你需要在数组内指定数值或者逻辑值,那么变量类型应该是数值变量或者布尔变量,而不是字符变量。
问题:
注释:如果逻辑对象无初始值或者其值为 0、-0、null、""、false、undefined 或者 NaN,那么对象的值为 false。否则,其值为 true(即使当自变量为字符串 "false" 时)!
问题:
Math 对象
Math(算数)对象的作用是:执行普通的算数任务。
Math 对象提供多种算数值类型和函数。无需在使用这个对象之前对它进行定义。
算数值
JavaScript 提供 8 种可被 Math 对象访问的算数值:
- 常数
- 圆周率
- 2 的平方根
- 1/2 的平方根
- 2 的自然对数
- 10 的自然对数
- 以 2 为底的 e 的对数
- 以 10 为底的 e 的对数
这是在 Javascript 中使用这些值的方法:(与上面的算数值一一对应)
- Math.E
- Math.PI
- Math.SQRT2
- Math.SQRT1_2
- Math.LN2
- Math.LN10
- Math.LOG2E
- Math.LOG10E
问题:
关于Json
如果有一些方法和一些变量,那么可以堆叠在一个函数里面,然后用case区分,如:
function validate(int par)
{
switch(par)
{
case 1:
alert(compute);
break;
case 2:
alert(translate);
break;
default:
break;
}
}
可以写成Json风格的:
function validate{
count:1,
compute:function(
alert(“compute”);
),
translate:function(
alert(“translate”);
)};
问题:
ActionResult和ViewResult的区别?
ActionResult比ViewResult灵活,作为返回值,ViewResult只能使用
retrun View(…);
而ActionResult则可以很灵活,如:
return ActionResult(…);
return ViewResult();
return Json(x:1);
等等。
注:ViewResult是MVC3,4默认的。
问题:
验证表单不允许为空
在一个网站中,如果有许多页面,而页面中的表单不允许为空,那么,需要验证,如果选择JS进行验证的话,那可以做在一个公用的JS文件里面,可以公用,也有助于分类:
验证函数:
function validate(page)
{
case “product”:
if($(“#Name”).val() == “”)
{
$(“.message”).html = “名字不允许为空”;
}
…
return false;
break;
case “vendor”:
…
return false;
break;
….
default:
return ture;
}
其中$(“#Name”)中的Name是指某个View中相应的TMode中的一个属性,而TModel的类型则与具体的View的Model有关。
$(“.message”)是可以代表某个div的,具体是哪个div则与调用函数validate()的View有关。
在前台使用这个$(“.message”),如:
<div class=”massage”></div>
问题:
创新的来源?
霍特国际商学院(Hult International Business School)一个由MBA组成的团队与O’clock协同工作,当他们回顾前100个创新时很快发现六个问题。而这正是著名的创新者不断对自己提出再回答,并最终引导产生创新思想的问题。
这六个创新问题是:
. 是新的视角么?(乔布斯用新视角看待计算机,引爆Mac及个人电脑的革命)
. 是新的用法么?(人类在旧石器时代将火变天灾为烹调、取暖、照明及防卫手段)
. 是在时空中的新演绎么?(苏美尔人的语言形式由说到书写,扩展了功能和范围)
. 是新的连接或沟通方式么?(爱迪生将灯泡连入电网,引出电气化城市发展)
. 会改变设计或性能么?(近300万年前,世界上的首次“创新”即变石块为石斧)
. 是真正的初见么?(美洲殖民者在1776年基于特定的抽象概念创建第一个“有立意的”国家)