JS基础知识第一弹

JS基础要点

JS基础知识第一弹

  (2012-03-11 13:12:16)
标签: 

javascript

 

web

 

css

 

html

 

it

分类: 学习

近来写js代码时,越发的发觉自己的基础知识不牢固。于是开始自我补习。摘录部分学习内容如下:

0、包含在<script>元素内部的js代码将被从上到下依次解释,在解释器对<script>元素内部所有代码求值完毕之前,页面中的其余内容都不会被浏览器加载或显示。

1、<script>标签内的js代码中不要出现"</script>"字符串,浏览器会认为那是结束标签。如果非要加入这个字符串,可以分开写:
alert( "</scr" + "ipt>" );

2、外部js文件都带有.js扩展名,但这个扩展名不是必需的,因为浏览器不会检查包含js的文件的扩展名,这样一来,使用jsp、php或其他服务器端语言动态生成的js代码也就成为了可能。

3、通过<script>元素的src属性,还可以包含来自外部域的js文件。src属性可以指向当前HTML页面所在域之外的某个域中的URL,例如:
<script src="http://www.somewhere.com/somejs.js"></script>
在包含外部域的js代码时,必须要考虑安全问题!!

4、关于<script>元素的位置,当放在<head>元素中时,意味着必须等到全部js代码都被下载、解析和执行完成之后,才能开始呈现页面的内容,对于js代码很多的页面来说,会导致浏览器在呈现页面的时候出现明显的延迟,延迟的时候窗口中将是一片空白。因此现代web应用程序一般都把js引用放在<body>元素中,放在页面内容的后面。例如:
<html>
  <head>
    <title>page title</title>
  </head>
  <body>
    <!-- here is the content -->
    <script src="myjs.js"></script>
    <script src="myotherjs.js"></script>
  </body>
</html>
这样在解析js代码之前,页面已经加载到浏览器窗口中了,用户不会等待太久而感觉页面打开速度太慢。

5、在XHTML中代码的编写规则比HTML严格的多。例如出现if(a < b)类似的代码,其中的小于号 < 会被认为是一个新标记的开始,从而导致语法错误。避免的方法:
一是使用&lt;代替小于号;
二是使用<script> //<![CDATA[ ... ... CODE ... ... ]]> </script>
需要注意的是,HTML文件和XHTML文件包含外部js文件的语法是相同的,对于外部js文件,不需要考虑上述问题。

6、ECMAScript的全部关键字:
break\case\catch\continue\default\delete\do\else\finally\for\function\if\in\instanceof\
new\return\switch\this\throw\try\typeof\var\void\while\with
保留字:
abstract\boolean\byte\char\class\const\debugger\double\enum\export\extends\final\ float\goto\implements\import\int\interface\long\native\package\private\protected\ public\short\static\super\synchronized\throws\thansient\volatile

若在代码中使用了关键字作为标识符,容易导致“Identifier Expected”(缺少标识符)。

7、在function中var一个变量,那么在这个function退出后这个变量会被销毁。

8、ECMAScript中的5种简单数据类型(也称为基本数据类型):

undefined,null,boolean,number,string。

还有一种复杂数据类型Object。Object本质是由一组无序的明值对组成。ECMAScript不支持任何创建自定义类型的机制。所有值最终都是上述六种数据类型之一。

9、typeof是用来检测变量的数据类型。使用typeof可能返回下列字符串中的某一个:
如果被检测的值未定义,则返回“undefined”;
如果被检测的值是布尔型,则返回“boolean”;
如果被检测的值是字符串,则返回“string”;
如果被检测的值是数值,则返回“number”;
如果被检测的值是对象或null,则返回“object”;
如果被检测的值是函数,则返回“function”;

注意:typeof是一个操作数而不是函数,因此括号不是必须的:

typeof myMsg;typeof(myMsg);都可以。


注意:严格说,函数在ECMAScript中是对象,不是一种数据类型,但通过typeof来区分函数和其他对象是有必要的。

注意:对于尚未声明(var)的变量,只能用typeof检测其数据类型,其他操作(例如alert等)都会报错。

注意:声明但未被初始化的变量,和未声明的变量,在进行typeof时都返回“undefined”。

10、null值表示一个空对象指针。因此typeof返回的是“object”。如果定义的变量准备在将来用作保存对象,那么最好将该变量初始化为null而不是其他值。这样只要检查null值就可以知道这个变量是否已经保存了一个对象的引用了。例如
if( car != null){ //对car对象进行操作 }

实际上,undefined值是派生自null值的,因此他们的相等性检测会返回true:

alert(null == undefined);  //返回true

11、undefined和null在用途上的区别:
对于undefined,没有必要把变量显式的设为undefined;
而对于null,在将保存对象的变量还未真正保存对象时可以让变量先保存null值。

MATLAB主动噪声和振动控制算法——对较大的次级路径变化具有鲁棒性内容概要:本文主要介绍了一种在MATLAB环境下实现的主动噪声和振动控制算法,该算法针对较大的次级路径变化具有较强的鲁棒性。文中详细阐述了算法的设计原理与实现方法,重点解决了传统控制系统中因次级路径动态变化导致性能下降的问题。通过引入自适应机制和鲁棒控制策略,提升了系统在复杂环境下的稳定性和控制精度,适用于需要高精度噪声与振动抑制的实际工程场景。此外,文档还列举了多个MATLAB仿真实例及相关科研技术服务内容,涵盖信号处理、智能优化、机器学习等多个交叉领域。; 适合人群:具备一定MATLAB编程基础和控制系统理论知识的科研人员及工程技术人员,尤其适合从事噪声与振动控制、信号处理、自动化等相关领域的研究生和工程师。; 使用场景及目标:①应用于汽车、航空航天、精密仪器等对噪声和振动敏感的工业领域;②用于提升现有主动控制系统对参数变化的适应能力;③为相关科研项目提供算法验证与仿真平台支持; 阅读建议:建议读者结合提供的MATLAB代码进行仿真实验,深入理解算法在不同次级路径条件下的响应特性,并可通过调整控制参数进一步探究其鲁棒性边界。同时可参考文档中列出的相关技术案例拓展应用场景。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值