JavaScript学习笔记·基本概念

本次笔记只摘录JavaScript和已学习语言不同点或是遗漏知识点。

1.数据类型

  •  Boolean,String,Number,Object,Undefined,Null
  •  Undefined值为Null的派生值 (Null==Undefined)为true
  •  Number类型使用了IEEE754格式来表示整数和浮点数。由于保存浮点数需要的内存空间是保存整数的两倍,ECMAScript会将浮点数转换为整数值。例如:
var floatNum1 = 1.;      //小数点后没有数字,解析为1
var floatNum2 = 10.0;    //整数,解析为10
  •  浮点数最高精度是17位小数,但进行算数计算时精度远远不如整数,0.1+0.2≠0.3,会产生 舍入误差。这是使用基于IEEE754数值的浮点计算的通病。
  • NaN(Not a Number)是一个特殊的数值。用于表示一个本来要返回数值的操作数未返回数值的情况(避免抛出错误)。

任何涉及NaN的操作都会返回NaN。

NaN与任何值都不相等包括它本身。

isNaN()函数接受任何类型的参数,函数用于判断这个参数是否“不是数值”

alert(isNaN("10"));          //false,可以转换成数值10
alert(isNan("blue"));        //true,不是数值
  • 数值转换

Number()函数:

如果参数是对象,调用valueOf()方法,确定该方法返回值是否可以转换为数值。如果转换结果为NaN,则调用对象的toString()方法,再测试返回值。

例如:

var num = Number("Hello World!");    //NaN

parseInt()函数:

它会忽略字符串前面的空格,直到找到第一个非空格字符。如果第一个字符不是数字或者负号,parseInt()会返回NaN。如果第一个字符是数字字符,parseInt()会继续解析第二个字符,直到解析完所有字符或者遇到一个非数字字符。

例如:

var num = parseInt("1234blue");         //1234
  • String类型,用双引号和单引号表示的字符串相同
  • ECMAScript中字符串是不可变的,要改变某个变量保存的字符串,要先销毁原来的字符串。

2.操作符

  • 全等操作符由3个等号(===)表示,它只在两个操作数未经转换就相等的情况下返回true,例如:
var result1 = ("55" == 55);     //true,转换后相等
var result2 = ("55" === 55);    //false,不同数据类型不相等

3.语句

  • for-in语句

for-in语句是一种精准的迭代语句,可以用来枚举对象的属性

语法:for (property in expression) statement

如果表示要迭代的对象的变量值为null或undefined,for-in语句会抛出错误。

  • label语句

使用label语句可以在代码中添加标签,以便将来使用。

语法: label: statement

例:

start: for (var i=0; i< count; i++) {
    alert(i);
}

这个例子中定义的start标签可以在将来由break或continue语句引用。加标签的语句一般都要与for语句等循环语句混合食用。

  • with语句

with语句的作用是将代码的作用域设置到一个特定的对象中。

语法: with (expression) statement;

定义with语句的目的主要是简化多次编写同一个对象的工作,例:

var qs = location.search.substring(1);
var hostName = location.hostname;
var url = location.href;

上面几行代码都包含location对象。如果使用with语句,可以把上面的代码改写如下所示:

with(location) {
    var qs = search.substring(1);
    var hostName = hostname;
    var url = href;
}

由于大量使用with语句会导致性能下降,同时也会给调试代码造成困难,因此在开发大型应用程序时,不建议使用with语句。

4.函数

没有重载!!

如果在ECMAScript中定义了两个名字相同的函数,则后定义的函数有效。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
对于计算机专业的学生而言,参加各类比赛能够带来多方面的益处,具体包括但不限于以下几点: 技能提升: 参与比赛促使学生深入学习和掌握计算机领域的专业知识与技能,如编程语言、算法设计、软件工程、网络安全等。 比赛通常涉及实际问题的解决,有助于将理论知识应用于实践中,增强问题解决能力。 实践经验: 大多数比赛都要求参赛者设计并实现解决方案,这提供了宝贵的动手操作机会,有助于积累项目经验。 实践经验对于计算机专业的学生尤为重要,因为雇主往往更青睐有实际项目背景的候选人。 团队合作: 许多比赛鼓励团队协作,这有助于培养学生的团队精神、沟通技巧和领导能力。 团队合作还能促进学生之间的知识共享和思维碰撞,有助于形成更全面的解决方案。 职业发展: 获奖经历可以显著增强简历的吸引力,为求职或继续深造提供有力支持。 某些比赛可能直接与企业合作,提供实习、工作机会或奖学金,为学生的职业生涯打开更多门路。 网络拓展: 比赛是结识同行业人才的好机会,可以帮助学生建立行业联系,这对于未来的职业发展非常重要。 奖金与荣誉: 许多比赛提供奖金或奖品,这不仅能给予学生经济上的奖励,还能增强其成就感和自信心。 荣誉证书或奖状可以证明学生的成就,对个人品牌建设有积极作用。 创新与研究: 参加比赛可以激发学生的创新思维,推动科研项目的开展,有时甚至能促成学术论文的发表。 个人成长: 在准备和参加比赛的过程中,学生将面临压力与挑战,这有助于培养良好的心理素质和抗压能力。 自我挑战和克服困难的经历对个人成长有着深远的影响。 综上所述,参加计算机领域的比赛对于学生来说是一个全面发展的平台,不仅可以提升专业技能,还能增强团队协作、沟通、解决问题的能力,并为未来的职业生涯奠定坚实的基础。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值