JavaScript基础学习(三)
来源:互联网 发布:阿里云消息推送 编辑:程序博客网 时间:2024/04/30 07:42
作用域
1:作用域:表示变量的作用范围。在全局作用域(整个页面中),有一个window对象,有游览器创建例如:
var a=10,b=5;
console.log(window.a+window.b);
2:console.log(a);
var a=10;//表示创建一个变量a=10;使用var关键字声明的变量会在所有代码执行之前声明,相当于在程序第一行声明,但没有赋值,所以程序不会报错,但是值为undefined.
3: fun1();
function fun1(){
console.log("我是fun1函数")
}//用函数声明创建的函数对象在JS代码执行前一句被创建,可以提前调用。
fun2();
var fun2=function()
{console.log("123456");} //用var变量声明的函数,仅仅在之前被声明但没有赋值所以不能被调用。
4:函数作用域:在函数调用的时候创建在函数执行完的时候销毁。
var a=5;
var a= function ()
{
var a=10
console.log("123456");
function fun1(){
console.log("a="+a);
// console.log("a="+window.a);
}
fun1();//在调用时候会现在自己作用域找,由于fun1()函数作用域没有然后就在a()作用域中找如果还没有就在全局作用域中找。就近原则。
}
我们如果要访问全局作用域中的变量可以使用window对象来进行访问。
5: This
Var name=”全局变量”
function fun1(a,b){
console.log("a="+a+",b="+b);
console.log(this.name);//this->指向值会发生变化
}
fun1(12,21);
var a={
name:"小明",
SayNAME:fun1
}
a.SayNAME();
fun1(12,21)等价于window.fun1(),调用window的fun1()方法时指向window对象。
a. SayNAME();this->指向a对象。
6:
类似于对象数组创建多个对象
functioncreateobject(a,b){
vara=new Object();
a.name=a;
a.age=b;
returna;
};
varb=createobject("小明",18);
vara=createobject("小红",15);
console.log(a);
console.log(b);
2: 枚举对象中的属性
a={
name:"张三",
sex:"男",
SAYNAME:function(){
console.log("123");
}
};
console.log(a);
// n in a 可以判断 n这个属性名是否在 对象a中;
for(var n ina)
{
console.log(n);//算出属性名
// a["123"]=20;
// n="123"我们可以这样n表示各种属性名。
console.log(a[n])//表示属性值
}
格式为
for (var n in object名)//
function fun2()
{
function fun1()
{
console.log("我要起来");
}
returnfun1;//返回fun1这个函数对象。
//returnfun1();//返回fun1()的返回值。
}
// var b=fun2();
var b;
b=fun2()();
console.log(typeof b);
立即执行函数
(function(a,b){
alert(a+b);
})(1,2);//只会执行一次。
(3)
var a=new Object;
a.name="张三";
a.SAYNAME=function(){
console.log(a.name);
}
a. SAYNAME();//方法 函数和方法只是名称上的区别,本质上是一样的。
var a=new Object;
a={
name:"张三",
sex:"男",
SAYNAME:function(){
console.log("123");
}
};
console.log(a);
// n in a 可以判断n这个属性名是否在 对象a中;
for(var n in a)
{
console.log(n);//算出属性名
// a["123"]=20;
// n="123" 我们可以这样n表示各种属性名。
console.log(a[n])//表示属性值
}
- JavaScript基础学习(三)
- JAVASCRIPT学习笔记基础(三)
- javascript学习基础要点(三)
- javascript基础(三)
- Javascript基础(三)
- JavaScript-基础(三)
- JavaScript基础(三)
- JavaScript基础(三)
- javaScript基础(三)
- javascript基础学习-语法学习(三)
- JavaScript基础学习(三)----Array数组对象
- javascript 学习三~函数和数组基础
- Javascript基础学习(三)-自定义对象数组
- JavaScript学习(三)
- JavaScript学习(三)
- JavaScript学习(三)
- JavaScript学习(三)
- JavaScript入门基础(三)
- 浅谈处理器架构
- hadoop+nfs+zookeeper搭建集群
- 21-Merge Two Sorted Lists
- <设计模式可复用面向对象软件的基础> [3.10]、模板(C#)
- Quartz入门探究
- JavaScript基础学习(三)
- XML修改
- JS动画效果(移动、透明度、缓冲、多物体)
- 程序员必读书籍及导读指南
- 探索ORACLE之RMAN_07非一致性恢复(集合)
- java日常学习:反转数组里的元素
- Leetcode-Subsets(dfs)
- PaxCompiler脚本编译的一些要注意的问题
- CODE FESTIVAL 2017 qual B:C