一、修改对像而生成新的对象
1 |
SCRIPTLANGUAGE="JavaScript"> |
2 |
!-- |
3 |
varitem="test"; |
4 |
varitemRef=item; |
5 |
alert(item); |
6 |
item+="ing"; |
7 |
alert(item); |
8 |
alert(itemRef); |
9 |
//--> |
10 |
/SCRIPT> |
二、typeof 类型检查
1 |
if(typeofnum=="string"){ |
2 |
num=parseInt(num); |
3 |
} |
4 |
if(typeofarr="string"){ |
5 |
arr=arr.split(","); |
6 |
} |
1 |
if(num.constructor==String){ |
2 |
num=parseInt(num); |
3 |
} |
4 |
if(str.constructor==Array){ |
5 |
str= str.join(","); |
6 |
} |
图 1-1
变量
|
typeof 变量
|
变量.构造函数
|
{an:object}
|
object
|
Object
|
[an:”array”]
|
object
|
Array
|
function() {}
|
function
|
Function
|
“a String”
|
string
|
String
|
55
|
number
|
Number
|
true
|
boolean
|
Boolean
|
new User()
|
object
|
User
|
三、作用域
注意: 在javascript中,作用域是有函数划分的,而不是由块(比如: while, if 或for语句) 划分的。
1 |
varflag="old"; |
2 |
if(true){ |
3 |
varflag="new"; |
4 |
} |
5 |
alert(flag=="new"); |
6 |
|
7 |
//function |
8 |
functiontest(){ |
9 |
varflag="old"; |
10 |
} |
11 |
test(); |
12 |
alert(flag=="new"); |
说明:所有属于全局作用域的变量 其实都是 window对象的属性(property).
1 |
vartemp="howareyou?"; |
2 |
alert(window.temp==temp); |
3 |
//true |
隐式全局作用域变量的声明:
1 |
//------------------ |
2 |
//temp未用var声明 |
3 |
//alert(window.temp==temp);true |
4 |
functiontest(){ |
5 |
temp="1111"; |
6 |
} |
7 |
test(); |
8 |
alert(window.temp==temp); |
9 |
//------------------ |
10 |
//temp用var声明 |
11 |
//缺少对象temp为局部变量 |
12 |
functiontest(){ |
13 |
vartemp="2222"; |
14 |
} |
15 |
test(); |
16 |
alert(window.temp==temp); |
四、闭包
闭包意味着内层的函数可以引用包围它的函数内的变量,即使外层函数的执行已经终止。
JS中的CURRY化技术: curry化是通过把多个参数填充到函数体中,实现将函数转换为一个新的经过简化的(便之接受的参数更少)函数的技术
1,用闭包实现的函数 curry化:
1 |
functionaddGenerator(num){ |
2 |
//返回一个简单的函数,求两个数的和,其中第一个数字来自生成器 |
3 |
returnfunction(toAdd){ |
4 |
returnnum+toAdd; |
5 |
}; |
6 |
} |
7 |
varaddFive=addGenerator(5); |
8 |
alert(addFive); |
9 |
//9 |
五、上下文对象
在javascript中,你的代码总是有一个上下文对象(代码处在改对象内)。上下文对象是通过this变量体现的,这个变量永远指向当前代码处的对象中。
1 |
varobj={ |
2 |
yes:function(){ |
3 |
this.val=true; |
4 |
}, |
5 |
no:function(){ |
6 |
this.val=false; |
7 |
} |
8 |
} |
9 |
alert(obj.val==null); |
10 |
obj.yes(); |
11 |
alert(obj.val==null); |
12 |
//现在把window.no指向obj.no并执行之 |
13 |
window.no=obj.no; |
14 |
window.no(); |
15 |
alert(obj.val==true); |
16 |
alert(window.val==true); |
分享到:
相关推荐
javascript知识点总结《一》
本文包括JavaScript的部分基础知识的总结
JavaScript知识点总结文档,javaScript需要掌握的基本只是内容汇总,一起学习,一起进步
经典javascript知识总结.适合有点js基础的,
js基础知识点总结-入门级别,适合初学者。
JavaScript 语言基础知识点总结(思维导图10张)
一位将近40岁的web前端总结的一套JavaScript 语言基础知识点总结
JavaScript知识点个人总结
JavaScript 语言基础知识点思维导图
JavaScript语言基础知识点总结,考过试的童鞋都知道什么叫知识点总结吧,很实用哦。是图片格式的因为用思维导图做的
对JavaScript语言基础知识点的总结,整理出十张思维导图
javascript基础知识总结,详细的介绍了基础知识
通过思维导图的方式,快速了解掌握JavaScript的基本内容
HTML+CSS+JavaScript 知识点总结 HTML 基础知识: 1. HTML 是网页内容的载体,负责承载网页的内容。 2. HTML 标签不区分大小写,但建议使用小写。 3. 一个 HTML 文件由和两部分组成,用于定义文档的头部,用于承载...
JavaScript 总结 重要知识点 JavaScript js总结
超详细JavaScript知识点梳理总结树,大纲清晰明确,涵盖所有JS基础知识点,范围广且详细,超适合前端小白基础入门,你值得拥有!
前端JS开发知识点总结
JavaScript 语言基础知识点总结(思维导图)_蜗牛.zipJavaScript 语言基础知识点总结(思维导图)_蜗牛.zip
Node.js 是运行在服务端的 JavaScript,是一个基于Chrome JavaScript 运行时建立的一个平台。 是一个事件驱动I/O服务端JavaScript环境,基于Google的V8引擎,V8引擎执行Javascript的速度 非常快,性能非常好。
JS和JQuery的知识点和用法总结与分析 JS和JQuery的知识点和用法总结与分析