惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Google Online Security Blog
Google Online Security Blog
C
CXSECURITY Database RSS Feed - CXSecurity.com
C
CERT Recently Published Vulnerability Notes
C
Cybersecurity and Infrastructure Security Agency CISA
Cisco Talos Blog
Cisco Talos Blog
Hacker News - Newest:
Hacker News - Newest: "LLM"
Scott Helme
Scott Helme
Project Zero
Project Zero
E
Exploit-DB.com RSS Feed
S
Secure Thoughts
K
Kaspersky official blog
L
Lohrmann on Cybersecurity
NISL@THU
NISL@THU
WordPress大学
WordPress大学
N
News and Events Feed by Topic
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
L
LINUX DO - 热门话题
小众软件
小众软件
P
Privacy & Cybersecurity Law Blog
博客园 - 聂微东
Google DeepMind News
Google DeepMind News
H
Hackread – Cybersecurity News, Data Breaches, AI and More
A
About on SuperTechFans
Hacker News: Ask HN
Hacker News: Ask HN
AWS News Blog
AWS News Blog
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
H
Hacker News: Front Page
F
Full Disclosure
Latest news
Latest news
Schneier on Security
Schneier on Security
The Hacker News
The Hacker News
T
Troy Hunt's Blog
www.infosecurity-magazine.com
www.infosecurity-magazine.com
Jina AI
Jina AI
Martin Fowler
Martin Fowler
P
Proofpoint News Feed
TaoSecurity Blog
TaoSecurity Blog
G
GRAHAM CLULEY
Forbes - Security
Forbes - Security
V
V2EX - 技术
酷 壳 – CoolShell
酷 壳 – CoolShell
V
Vulnerabilities – Threatpost
C
Cyber Attacks, Cyber Crime and Cyber Security
MongoDB | Blog
MongoDB | Blog
博客园 - 三生石上(FineUI控件)
S
SegmentFault 最新的问题
Hugging Face - Blog
Hugging Face - Blog
P
Privacy International News Feed
C
Check Point Blog
N
News and Events Feed by Topic

博客园 - point.deng

Pinax安装笔记 CuteEditor使用心得 asp.net 中的default button 悬浮的购物车 - point.deng - 博客园 DIV+CSS实现圆角 欢迎使用我的控件 有用的SQL语句,更新中~ asp.net 实现多语言界面 关于WebService中SOAP扩展求助~~ - point.deng - 博客园 同一账号多次登录 WEB自定义控件小记 C# 使用HOOK 小记 视频转为flv和图片 Asp.net上传图片产生预览效果(转) asp.net2.0用户和角色管理 Ajax示例 asp.net开发小技巧 Master Page主题以及皮肤的使用 ASP.NET 2.0网站快速导航
javascript 练习
point.deng · 2008-02-25 · via 博客园 - point.deng

今天看了园中一位老大的文章:是讲的JS的精华,讲得太好了。 http://www.cnblogs.com/leadzen/archive/2008/02/25/1073404.html
于是记下我能理解的部分,当然只是别人的一点点皮毛而已。
一、JS是一段一段地执行的,而不是我以前所理解的一行一行地执行,何以见得?
function my()
{
    alert("hello");
}
my();
function my()
{
    alert("Hi");
}
my();

这里的结果是显示:Hi
意思是说:JS会把所有的定义放到一起,所以很明显地可以看出,这个方法是定义是什么样的了,而两个地方的调用是在定义之后,当然结果会是显示HI,
但是,有一种情况很奇怪:
var my=function()
{
    alert("hello");
}
my();
my=function()
{
    alert("Hi");
}
my();

这样显示的结果是hello,hi
意思是说两个定义都起作用了,我的理解是,这种定义的方式可以把my想成是一个变量,作者也是这样说的,所以它们是放到一起执行的,也就是说是一行一行地执行的,结果可想而知了。
二、对象
JS里的对象很怪,C#中是先有对象名,再有对象的属性、方法等,而JS可以把对象建立在方法之上,如:
var person=function()
{
    alert(person.name+","+person.age+","+person.sex);
}
person.age=10;
person.name="deng";
person();
person.age=20;
person.name="qiang";
person.sex="男";
person();

可以看到,对象的属性可以在使用的时候再添加,
第二种定义方法:

var obj={};
obj.per="属性";
obj.me=function(){alert("方法");};

alert(obj.per);
alert(obj["per"]);
obj.me();
obj["me"]();

for(var o in obj)
alert(o);
alert(o +" is a "+typeof(obj[o]))

可以看到,JS中的for又可以当成C#中的for,还可以当成C#中的foreach用,

在初始化的时候是没有任何东西的,接着,添加了per属性和me 方法,调用它们也有多种方式。
当然,可以在定义的时候初值的,

var sp={name:"deng",say:function(){alert(this.name)}};
sp.say();
这里要注意一下:属性或方法定义要用 " : " ,而它们之间的间隔要用 " , "
这只是一个简单的对象定义,看一个作者列出的复杂的对象:
var company =
    {
        name: "Microsoft",//名称,与下一个属性之间的间隔用 ", "
        product: "softwares",//同上
        chairman: {name: "Bill Gates", age: 53, Married: true},//对象中的对象
        employees: [{name: "Angel", age: 26, Married: false}, {name: "Hanson", age: 32, Married: true}],//对象中的对象数组
        readme: function() {document.write(this.name + " product " + this.product);}//对象中的方法
    };
无论多么复杂的对象,都可以在定义的时候初始化它,这样也是为了规范。
调用如下:
 company.readme();//调用方法
    alert(company.chairman.name+"   "+company.chairman.age);//调用对象中的对象

    for(var e in company.employees)//调用对象中的数组对象
        alert(company.employees[e].name+"  "+company.employees[e].age+"   "+company.employees[e].Married);


注意这里的e是一个索引。

后面还有很多的知识点的内容,我时候有限,更多的是能力有限,没来得及学习,以后补上心得~~