什么是立即执行函数?有什么作用?

这是 JS 中的一个常见概念,面试时经常会被问到,请「用自己的语言」简述

  1. 立即执行函数是什么
  2. 立即执行函数有什么用途

1. 立即执行函数是什么

立即执行函数就是

  1. 声明一个匿名函数
  2. 马上调用这个匿名函数

上面是一个典型的立即执行函数。

  • 首先声明一个匿名函数 function(){alert(‘我是匿名函数’)}。
  • 然后在匿名函数后面接一对括号 (),调用这个匿名函数。

那么为什么还要用另一对括号把匿名函数包起来呢?

其实是为了兼容 JS 的语法。

如果我们不加另一对括号,直接写成

function(){alert('我是匿名函数')}()

浏览器会报语法错误。想要通过浏览器的语法检查,必须加点小东西,比如下面几种

(function(){alert('我是匿名函数')} ()) // 用括号把整个表达式包起来
(function(){alert('我是匿名函数')}) () //用括号把函数包起来
!function(){alert('我是匿名函数')}() // 求反,我们不在意值是多少,只想通过语法检查。
+function(){alert('我是匿名函数')}()
-function(){alert('我是匿名函数')}()
~function(){alert('我是匿名函数')}()
void function(){alert('我是匿名函数')}()
new function(){alert('我是匿名函数')}()

2. 立即执行函数有什么用?

只有一个作用:创建一个独立的作用域。

这个作用域里面的变量,外面访问不到(即避免「变量污染」)。

以一个著名的面试题为例:

var liList = ul.getElementsByTagName('li')
for(var i=0; i<6; i++){
  liList[i].onclick = function(){
    alert(i) // 为什么 alert 出来的总是 6,而不是 0、1、2、3、4、5
  }
}

为什么 alert 的总是 6 呢,因为 i 是贯穿整个作用域的,而不是给每个 li 分配了一个 i,如下:

那么怎么解决这个问题呢?用立即执行函数给每个 li 创造一个独立作用域即可(当然还有其他办法):

var liList = ul.getElementsByTagName('li')
for(var i=0; i<6; i++){
  !function(ii){
    liList[ii].onclick = function(){
      alert(ii) // 0、1、2、3、4、5
    }
  }(i)
}

在立即执行函数执行的时候,i 的值被赋值给 ii,此后 ii 的值一直不变。

i 的值从 0 变化到 5,对应 6 个立即执行函数,这 6 个立即执行函数里面的 ii 「分别」是 0、1、2、3、4、5。

以上,就是立即执行函数的基本概念。

完。

作者:方应杭

301 thoughts on “什么是立即执行函数?有什么作用?”

  1. Hi are using WordPress for your site platform? I’m new to the blog world but I’m trying to get started and create my own. Do you require any coding expertise to make your own blog? Any help would be really appreciated!|

  2. Hi there, i read your blog occasionally and i own a similar one and i was just wondering if you get a lot of spam remarks? If so how do you protect against it, any plugin or anything you can recommend? I get so much lately it’s driving me crazy so any assistance is very much appreciated.|

  3. of course like your web site but you need to check the spelling on several of your posts. A number of them are rife with spelling issues and I find it very bothersome to tell the truth then again I will definitely come again again.|

  4. Hi there! I know this is somewhat off topic but I was wondering which blog platform are you using for this site? I’m getting sick and tired of WordPress because I’ve had issues with hackers and I’m looking at options for another platform. I would be fantastic if you could point me in the direction of a good platform.|

  5. Hello there, There’s no doubt that your blog might be having browser compatibility issues. When I look at your web site in Safari, it looks fine however, if opening in IE, it’s got some overlapping issues. I just wanted to give you a quick heads up! Besides that, great website!|

  6. Nice post. I learn something totally new and challenging on blogs I stumbleupon every day. It’s always helpful to read articles from other writers and practice a little something from other sites. |

  7. What’s up everybody, here every person is sharing such familiarity, therefore it’s pleasant to read this blog, and I used to go to see this website every day.|

  8. I’m curious to find out what blog system you’re working with? I’m experiencing some minor security problems with my latest website and I would like to find something more risk-free. Do you have any recommendations?|

  9. I don’t even know how I ended up here, but I thought this post was good. I do not know who you are but certainly you are going to a famous blogger if you aren’t already 😉 Cheers!|

  10. Today, I went to the beach front with my kids. I found a sea shell and gave it to my 4 year old daughter and said “You can hear the ocean if you put this to your ear.” She placed the shell to her ear and screamed. There was a hermit crab inside and it pinched her ear. She never wants to go back! LoL I know this is totally off topic but I had to tell someone!|

  11. It is not my first time to pay a visit this web site, i am visiting this website dailly and obtain fastidious information from here daily.|

  12. Greetings! I’ve been following your web site for some time now and finally got the courage to go ahead and give you a shout out from Dallas Tx! Just wanted to tell you keep up the fantastic work!|

  13. When I originally commented I seem to have clicked the -Notify me when new comments are added- checkbox and now each time a comment is added I get 4 emails with the exact same comment. Is there a way you are able to remove me from that service? Thanks a lot!|

  14. I think that is among the most significant info for me. And i am glad reading your article. But want to remark on some basic things, The website style is wonderful, the articles is in point of fact nice : D. Just right job, cheers|

  15. Oh my goodness! Amazing article dude! Thank you so much, However I am experiencing difficulties with your RSS. I don’t know why I can’t join it. Is there anybody having identical RSS problems? Anybody who knows the answer will you kindly respond? Thanks!!|

  16. An intriguing discussion is definitely worth comment. I think that you ought to write more on this topic, it might not be a taboo subject but usually people do not speak about these subjects. To the next! Kind regards!!|

  17. hello there and thank you for your info – I have definitely picked up anything new from right here. I did however expertise a few technical issues using this site, since I experienced to reload the website many times previous to I could get it to load properly. I had been wondering if your web hosting is OK? Not that I’m complaining, but sluggish loading instances times will very frequently affect your placement in google and can damage your quality score if advertising and marketing with Adwords. Well I am adding this RSS to my email and can look out for much more of your respective intriguing content. Ensure that you update this again very soon.|

  18. Nice post. I learn something totally new and challenging on blogs I stumbleupon everyday. It will always be exciting to read through content from other writers and use something from other sites. |

  19. I do not even understand how I stopped up here, however I thought this submit was once great. I do not realize who you are however certainly you are going to a well-known blogger in the event you aren’t already. Cheers!|

  20. I’m not sure exactly why but this web site is loading very slow for me. Is anyone else having this problem or is it a issue on my end? I’ll check back later and see if the problem still exists.|

  21. I needed to thank you for this excellent read!! I absolutely enjoyed every bit of it. I have got you book marked to check out new things you post…|

  22. I got this web site from my buddy who shared with me regarding this web site and at the moment this time I am visiting this website and reading very informative posts at this place.|

  23. Hello there, You’ve done an incredible job. I will definitely digg it and personally recommend to my friends. I am confident they’ll be benefited from this site.|

  24. I was excited to discover this page. I wanted to thank you for your time due to this fantastic read!! I definitely loved every part of it and I have you book marked to see new stuff in your web site.|

  25. Hello There. I found your weblog the use of msn. That is a very neatly written article. I’ll be sure to bookmark it and return to read more of your useful information. Thanks for the post. I’ll certainly comeback.|

  26. Hello! This post couldn’t be written any better! Reading through this post reminds me of my old room mate! He always kept talking about this. I will forward this write-up to him. Pretty sure he will have a good read. Thanks for sharing!|

  27. hello there and thank you for your information – I’ve definitely picked up something new from right here. I did however expertise several technical issues using this web site, since I experienced to reload the website a lot of times previous to I could get it to load correctly. I had been wondering if your hosting is OK? Not that I am complaining, but slow loading instances times will very frequently affect your placement in google and could damage your quality score if ads and marketing with Adwords. Well I am adding this RSS to my email and could look out for much more of your respective exciting content. Ensure that you update this again very soon.|

  28. I have not checked in here for some time because I thought it was getting boring, but the last several posts are good quality so I guess I will add you back to my everyday bloglist. You deserve it my friend 🙂

  29. After I originally commented I appear to have clicked on the -Notify me when new comments are added- checkbox and from now on whenever a comment is added I receive four emails with the exact same comment. Perhaps there is a means you can remove me from that service? Thank you!|

  30. It’s going to be end of mine day, but before finish I am reading this great article to improve my knowledge.

  31. Wow, fantastic blog structure! How lengthy have you been running a blog for? you made blogging glance easy. The overall glance of your site is wonderful, as well as the content material!

  32. Hi, i think that i saw you visited my website thus i came to “return the favor”.I am attempting to find things to enhance my website!I suppose its ok to use some of your ideas!!|

  33. Hi there just wanted to give you a quick heads up. The words in your content seem to be running off the screen in Opera. I’m not sure if this is a format issue or something to do with web browser compatibility but I thought I’d post to let you know. The style and design look great though! Hope you get the problem resolved soon. Kudos|

  34. Hey there! This is my first visit to your blog! We are a group of volunteers and starting a new project in a community in the same niche. Your blog provided us beneficial information to work on. You have done a marvellous job!|

  35. When I originally commented I clicked the “Notify me when new comments are added” checkbox and now each time a comment is added I get three emails with the same comment. Is there any way you can remove people from that service? Cheers!|

  36. Nice post. I was checking constantly this blog and I am inspired! Very helpful information particularly the final part 🙂 I handle such info a lot. I was looking for this certain info for a long time. Thank you and good luck. |

  37. When someone writes an piece of writing he/she maintains the thought of a user in his/her brain that how a user can know it. So that’s why this paragraph is great. Thanks!|

  38. I have read so many articles about the blogger lovers except this piece of writing is really a pleasant piece of writing, keep it up.|

  39. Hi there I am so thrilled I found your web site, I really found you by error, while I was researching on Aol for something else, Regardless I am here now and would just like to say thanks a lot for a fantastic post and a all round entertaining blog (I also love the theme/design), I don’t have time to read it all at the moment but I have saved it and also included your RSS feeds, so when I have time I will be back to read more, Please do keep up the excellent jo.|

  40. Incredible! This blog looks exactly like my old one! It’s on a completely different topic but it has pretty much the same page layout and design. Excellent choice of colors!|

  41. My spouse and I stumbled over here from a different website and thought I may as well check things out. I like what I see so now i am following you. Look forward to exploring your web page again.|

  42. Very nice post. I just stumbled upon your weblog and wanted to say that I’ve really enjoyed surfing around your blog posts. In any case I’ll be subscribing to your feed and I hope you write again very soon!|

  43. Write more, thats all I have to say. Literally, it seems as though you relied on the video to make your point. You clearly know what youre talking about, why waste your intelligence on just posting videos to your blog when you could be giving us something enlightening to read?|

  44. Fantastic blog! Do you have any suggestions for aspiring writers? I’m planning to start my own site soon but I’m a little lost on everything. Would you recommend starting with a free platform like WordPress or go for a paid option? There are so many choices out there that I’m totally overwhelmed .. Any tips? Cheers!|

  45. An intriguing discussion is worth comment. I do think that you ought to publish more on this subject, it may not be a taboo subject but usually people do not discuss these subjects. To the next! All the best!!|

  46. Write more, thats all I have to say. Literally, it seems as though you relied on the video to make your point. You obviously know what youre talking about, why throw away your intelligence on just posting videos to your weblog when you could be giving us something informative to read?|

  47. I’ve been exploring for a little bit for any high-quality articles or blog posts on this kind of area . Exploring in Yahoo I finally stumbled upon this web site. Reading this info So i’m satisfied to convey that I have an incredibly excellent uncanny feeling I came upon exactly what I needed. I most no doubt will make certain to don?t put out of your mind this web site and give it a look on a relentless basis.|

  48. I was suggested this blog by my cousin. I’m not sure whether this post is written by him as no one else know such detailed about my problem. You are amazing! Thanks!|

  49. Hi there, i read your blog from time to time and i own a similar one and i was just curious if you get a lot of spam feedback? If so how do you reduce it, any plugin or anything you can suggest? I get so much lately it’s driving me insane so any support is very much appreciated.|

  50. Please let me know if you’re looking for a article writer for your weblog. You have some really good posts and I feel I would be a good asset. If you ever want to take some of the load off, I’d really like to write some articles for your blog in exchange for a link back to mine. Please shoot me an email if interested. Thank you!|

  51. Great goods from you, man. I have understand your stuff previous to and you are just extremely excellent. I really like what you’ve acquired here, certainly like what you are saying and the way in which you say it. You make it entertaining and you still care for to keep it wise. I can not wait to read much more from you. This is really a terrific site.|

  52. Hello everyone, it’s my first go to see at this website, and paragraph is really fruitful in favor of me, keep up posting such posts.

  53. You’re so cool! I do not suppose I’ve truly read anything like that before. So nice to find someone with some genuine thoughts on this topic. Really.. many thanks for starting this up. This web site is one thing that’s needed on the internet, someone with a little originality!|

  54. Amazing blog! Do you have any recommendations for aspiring writers? I’m hoping to start my own website soon but I’m a little lost on everything. Would you propose starting with a free platform like WordPress or go for a paid option? There are so many options out there that I’m totally overwhelmed .. Any ideas? Thanks a lot!|

  55. Hi there this is kinda of off topic but I was wanting to know if blogs use WYSIWYG editors or if you have to manually code with HTML. I’m starting a blog soon but have no coding experience so I wanted to get advice from someone with experience. Any help would be greatly appreciated!|

  56. What’s Taking place i am new to this, I stumbled upon this I have found It positively helpful and it has aided me out loads. I hope to give a contribution & help different customers like its helped me. Good job.|

  57. Hey are using WordPress for your site platform? I’m new to the blog world but I’m trying to get started and create my own. Do you require any coding expertise to make your own blog? Any help would be greatly appreciated!

  58. You’ve made some decent points there. I checked on the internet for additional information about the issue and found most individuals will go along with your views on this website.|

  59. We absolutely love your blog and find many of your post’s to be exactly what I’m looking for.
    Do you offer guest writers to write content for you personally?

    I wouldn’t mind creating a post or elaborating on a few of the subjects you write related to here.
    Again, awesome site!

  60. I’ll immediately seize your rss feed as I can not to find your email subscription hyperlink or e-newsletter service. Do you’ve any? Please permit me understand so that I may subscribe. Thanks.|

  61. Its like you read my mind! You appear to know so much about this, like you wrote the book in it or something. I think that you can do with a few pics to drive the message home a little bit, but other than that, this is excellent blog. A great read. I will certainly be back.|

  62. My coder is trying to convince me to move to .net from PHP. I have always disliked the idea because of the expenses. But he’s tryiong none the less. I’ve been using Movable-type on a number of websites for about a year and am anxious about switching to another platform. I have heard good things about blogengine.net. Is there a way I can import all my wordpress posts into it? Any kind of help would be really appreciated!|

  63. Good day! Would you mind if I share your blog with my myspace group? There’s a lot of folks that I think would really appreciate your content. Please let me know. Cheers|

  64. I do trust all the concepts you’ve introduced in your post. They’re very convincing and can definitely work. Still, the posts are too brief for beginners. May just you please lengthen them a bit from subsequent time? Thank you for the post.|

  65. Hi I am so excited I found your webpage, I really found you by error, while I was searching on Yahoo for something else, Nonetheless I am here now and would just like to say cheers for a tremendous post and a all round thrilling blog (I also love the theme/design), I don’t have time to go through it all at the moment but I have bookmarked it and also added in your RSS feeds, so when I have time I will be back to read more, Please do keep up the fantastic jo.|

  66. Hello There. I found your blog using msn. This is an extremely well written article. I will be sure to bookmark it and come back to read more of your useful info. Thanks for the post. I will certainly comeback.|

  67. I’m really impressed with your writing skills as well as with the layout on your blog. Is this a paid theme or did you customize it yourself? Anyway keep up the nice quality writing, it’s rare to see a nice blog like this one today.|

  68. I loved as much as you will receive carried out right here. The sketch is tasteful, your authored subject matter stylish. nonetheless, you command get bought an impatience over that you wish be delivering the following. unwell unquestionably come further formerly again as exactly the same nearly a lot often inside case you shield this hike.|

  69. I’m extremely impressed with your writing skills as well as with the layout on your weblog. Is this a paid theme or did you customize it yourself? Anyway keep up the excellent quality writing, it is rare to see a nice blog like this one nowadays.|

  70. Admiring the dedication you put into your website and in depth information you present. It’s good to come across a blog every once in a while that isn’t the same outdated rehashed material. Excellent read! I’ve saved your site and I’m including your RSS feeds to my Google account.|

  71. Great post. I was checking continuously this blog and I’m impressed! Very helpful info particularly the last part 🙂 I care for such info much. I was looking for this particular information for a very long time. Thank you and best of luck.|

  72. Please let me know if you’re looking for a article writer for your blog. You have some really good posts and I feel I would be a good asset. If you ever want to take some of the load off, I’d absolutely love to write some content for your blog in exchange for a link back to mine. Please blast me an email if interested. Many thanks!|

  73. I was wondering if you ever thought of changing the structure of your blog? Its very well written; I love what youve got to say. But maybe you could a little more in the way of content so people could connect with it better. Youve got an awful lot of text for only having one or 2 pictures. Maybe you could space it out better?|

  74. I get pleasure from, lead to I discovered exactly what I used to be looking for. You’ve ended my 4 day lengthy hunt! God Bless you man. Have a nice day. Bye|

  75. Good day! I simply want to offer you a big thumbs up for the excellent info you’ve got here on this post. I will be returning to your website for more soon.|

  76. You made some decent points there. I checked on the internet for additional information about the issue and found most individuals will go along with your views on this website.|

  77. Good day very cool website!! Man .. Beautiful ..
    Wonderful .. I’ll bookmark your site and take the feeds also?
    I am satisfied to find a lot of useful information here in the
    put up, we’d like develop more techniques on this regard, thank you for sharing.
    . . . . .

  78. Hi, i think that i saw you visited my blog so i came to return the
    want?.I’m trying to find issues to improve my website!I suppose its adequate to use some of
    your ideas!!

  79. Hello would you mind letting me know which web host you’re utilizing?

    I’ve loaded your blog in 3 different browsers and I must say this
    blog loads a lot faster then most. Can you recommend a good
    hosting provider at a honest price? Kudos, I appreciate it!

  80. What’s up it’s me, I am also visiting this website daily, this site is in fact fastidious and the people are actually sharing good thoughts.|

  81. Hello just wanted to give you a quick heads up and let you know a few of the pictures aren’t loading properly. I’m not sure why but I think its a linking issue. I’ve tried it in two different web browsers and both show the same results.|

  82. Greetings from Ohio! I’m bored to death at work so I decided to browse your website on my iphone during lunch break. I really like the information you present here and can’t wait to take a look when I get home. I’m amazed at how fast your blog loaded on my phone .. I’m not even using WIFI, just 3G .. Anyways, excellent blog!|

  83. Hi there, You have performed a great job. I’ll certainly digg it and individually recommend to my friends. I am confident they will be benefited from this web site.|

  84. It’s a shame you don’t have a donate button! I’d definitely donate to this superb blog!
    I suppose for now i’ll settle for bookmarking
    and adding your RSS feed to my Google account. I look forward to fresh updates and will share this website with
    my Facebook group. Talk soon!

  85. Thanks for any other fantastic post. The place else could anyone get that kind of information in such an ideal manner of writing? I’ve a presentation next week, and I’m on the search for such info.|

  86. What’s up i am kavin, its my first occasion to commenting anyplace, when i read this piece of writing i thought i could also create comment due to this good post.|

  87. Hmm it looks like your site ate my first comment (it was super long) so I guess I’ll just sum it up what I had written and say, I’m thoroughly enjoying your blog. I as well am an aspiring blog blogger but I’m still new to everything. Do you have any tips for beginner blog writers? I’d really appreciate it.|

  88. I’m curious to find out what blog system you are working with? I’m having some minor security problems with my latest blog and I would like to find something more risk-free. Do you have any solutions?|

  89. I don’t even know how I ended up here, but I thought this post was great. I don’t know who you are but certainly you are going to a famous blogger if you aren’t already 😉 Cheers!

  90. I’m not that much of a online reader to be honest but your blogs really nice, keep it up! I’ll go ahead and bookmark your website to come back later on. Cheers|

  91. Good post. I learn something totally new and challenging on blogs I stumbleupon on a daily basis. It will always be interesting to read articles from other writers and practice a little something from other websites. |

  92. Hey I am so excited I found your weblog, I really found you by accident, while I was researching on Askjeeve for something else, Nonetheless I am here now and would just like to say cheers for a marvelous post and a all round exciting blog (I also love the theme/design), I don’t have time to go through it all at the moment but I have saved it and also added your RSS feeds, so when I have time I will be back to read a lot more, Please do keep up the great work.|

  93. That is very fascinating, You are a very professional blogger. I have joined your feed and look ahead to looking for more of your great post. Also, I’ve shared your website in my social networks|

  94. Excellent blog here! Also your website loads up fast! What web host are you using? Can I get your affiliate link to your host? I wish my site loaded up as quickly as yours lol|

  95. It is appropriate time to make some plans for the future and it’s time to be happy. I’ve read this post and if I could I desire to suggest you some interesting things or advice. Maybe you can write next articles referring to this article. I want to read even more things about it!|

  96. Very nice post. I just stumbled upon your weblog and wished to say that I’ve really enjoyed surfing around your blog posts. After all I will be subscribing to your rss feed and I hope you write again very soon!|

  97. Great work! That is the type of info that are supposed to be shared across the internet. Shame on the seek engines for not positioning this post higher! Come on over and talk over with my web site . Thanks =)|

  98. We’re a group of volunteers and opening a new scheme in our community. Your site offered us with helpful information to paintings on. You’ve performed an impressive task and our entire community will likely be thankful to you.

  99. I would like to show my appreciation to you just for bailing me out of this particular situation. Because of searching throughout the world wide web and getting solutions which are not beneficial, I thought my entire life was over. Being alive devoid of the solutions to the issues you have sorted out by way of your main site is a critical case, and those that would have adversely damaged my entire career if I hadn’t come across your blog post. Your talents and kindness in controlling a lot of stuff was invaluable. I’m not sure what I would’ve done if I hadn’t come across such a point like this. I am able to at this time look forward to my future. Thank you very much for this specialized and effective guide. I won’t think twice to recommend the website to any individual who needs and wants care on this situation.

  100. I have been exploring for a little for any high-quality articles or blog posts in this sort of area . Exploring in Yahoo I finally stumbled upon this site. Reading this information So i’m glad to show that I have a very excellent uncanny feeling I found out just what I needed. I such a lot without a doubt will make sure to don?t overlook this web site and give it a glance regularly.|

  101. It’s actually a great and helpful piece of info. I’m glad that you just shared this helpful information with us. Please stay us informed like this. Thanks for sharing.|

  102. I’m very happy to read this. This is the kind of manual that needs to be given and not the accidental misinformation that’s at the other blogs. Appreciate your sharing this best doc.

  103. My wife and i were now joyous when Edward could do his web research through the entire precious recommendations he was given out of your web page. It is now and again perplexing to simply possibly be giving out strategies that some others have been making money from. And now we recognize we have you to be grateful to for this. These illustrations you made, the straightforward web site menu, the relationships you can help create – it’s all unbelievable, and it is leading our son and us reason why the matter is amusing, and that is exceedingly essential. Many thanks for the whole lot!

  104. It is really a nice and useful piece of information. I’m glad that you simply shared this useful information with us. Please stay us informed like this. Thanks for sharing.

  105. I would like to thank you for the efforts you’ve put in writing this website. I’m hoping the same high-grade blog post from you in the upcoming as well. Actually your creative writing skills has inspired me to get my own site now. Actually the blogging is spreading its wings quickly. Your write up is a great example of it.

  106. Keep up the great piece of work, I read few posts on this site and I think that your weblog is rattling interesting and contains lots of superb information.

  107. I’ve been surfing online more than 4 hours today, yet I never found any interesting article like yours. It’s pretty worth enough for me. In my opinion, if all site owners and bloggers made good content as you did, the net will be much more useful than ever before.|

  108. Hello all, here every person is sharing these kinds of knowledge, thus it’s nice to read this webpage, and I used to visit this blog daily.|

  109. I’ve been surfing online more than three hours today, yet I never found any interesting article like yours. It’s pretty worth enough for me. In my view, if all web owners and bloggers made good content as you did, the net will be much more useful than ever before.|

  110. Hmm it appears like your blog ate my first comment (it was extremely long) so I guess I’ll just sum it up what I had written and say, I’m thoroughly enjoying your blog. I as well am an aspiring blog writer but I’m still new to the whole thing. Do you have any helpful hints for newbie blog writers? I’d genuinely appreciate it.|

  111. Its such as you read my thoughts! You seem to grasp a lot about this, like you wrote the book in it or something. I think that you just can do with a few percent to pressure the message home a little bit, but instead of that, this is wonderful blog. A fantastic read. I’ll certainly be back.|

  112. Hey! Someone in my Facebook group shared this site with us so I came to give it a look. I’m definitely enjoying the information. I’m book-marking and will be tweeting this to my followers! Outstanding blog and terrific design and style.|

  113. It’s the best time to make some plans for the future and it’s time to be happy. I’ve read this post and if I could I desire to suggest you few interesting things or suggestions. Perhaps you can write next articles referring to this article. I want to read more things about it!|

  114. I’ll right away take hold of your rss feed as I can not find your e-mail subscription hyperlink or newsletter service. Do you have any? Kindly permit me recognize so that I may just subscribe. Thanks.|

  115. Hi there! Someone in my Myspace group shared this site with us so I came to give it a look. I’m definitely enjoying the information. I’m book-marking and will be tweeting this to my followers! Wonderful blog and outstanding style and design.|

  116. Hi, i read your blog occasionally and i own a similar one and i was just curious if you get a lot of spam remarks? If so how do you reduce it, any plugin or anything you can suggest? I get so much lately it’s driving me crazy so any help is very much appreciated.|

  117. Woah! I’m really loving the template/theme of this website. It’s simple, yet effective. A lot of times it’s tough to get that “perfect balance” between user friendliness and visual appearance. I must say you have done a great job with this. In addition, the blog loads extremely quick for me on Internet explorer. Superb Blog!|

  118. Hello there! This post couldn’t be written any better! Reading through this post reminds me of my old room mate! He always kept chatting about this. I will forward this write-up to him. Fairly certain he will have a good read. Thank you for sharing!|

  119. I have been browsing online more than 4 hours today, yet I never found any interesting article like yours. It is pretty worth enough for me. In my opinion, if all web owners and bloggers made good content as you did, the internet will be much more useful than ever before.|

  120. Hey there would you mind letting me know which web host you’re working with? I’ve loaded your blog in 3 completely different web browsers and I must say this blog loads a lot faster then most. Can you recommend a good internet hosting provider at a honest price? Thank you, I appreciate it!|

  121. Woah! I’m really digging the template/theme of this blog. It’s simple, yet effective. A lot of times it’s very difficult to get that “perfect balance” between usability and visual appearance. I must say that you’ve done a very good job with this. In addition, the blog loads extremely quick for me on Firefox. Exceptional Blog!|

  122. Hey there! I’ve been following your website for a while now and finally got the courage to go ahead and give you a shout out from Huffman Texas! Just wanted to say keep up the good job!|

  123. Hello just wanted to give you a quick heads up. The text in your content seem to be running off the screen in Ie. I’m not sure if this is a format issue or something to do with browser compatibility but I thought I’d post to let you know. The layout look great though! Hope you get the issue solved soon. Cheers|

  124. Fantastic blog! Do you have any recommendations for aspiring writers? I’m hoping to start my own blog soon but I’m a little lost on everything. Would you advise starting with a free platform like WordPress or go for a paid option? There are so many options out there that I’m totally confused .. Any tips? Thanks!|

  125. Ahaa, its pleasant discussion about this piece of writing here at this webpage, I have read all that, so now me also commenting at this place.|

  126. I do not even know how I ended up here, but I thought this post was great. I do not know who you are but definitely you are going to a famous blogger if you are not already 😉 Cheers!|

  127. I don’t even understand how I stopped up here, however I assumed this publish was once good. I don’t recognize who you are however definitely you are going to a well-known blogger should you aren’t already. Cheers!|

  128. Its such as you read my mind! You appear to understand a lot approximately this, like you wrote the book in it or something. I feel that you could do with some p.c. to drive the message home a little bit, but other than that, this is fantastic blog. A fantastic read. I’ll certainly be back.|

imidlalo ye-hentai yezocansi进行回复 取消回复

电子邮件地址不会被公开。