通过在51自学网上观看视频1-10进行JS的初步学习,了解了函数的属性,变量和作用域。
http://www.51zxw.net/show.aspx?id=51121&cid=563
浏览博客文章——在2016年如何学习JavaScript? - 博客频道
http://blog.csdn.net/xllily_11/article/details/53032896
通过在线的交互式课程学习代码
https://www.codecademy.com/en/courses/getting-started-v2/2/6?curriculum_id=506324b3a7dffd00020bf661
博客文章——WEB前端到底怎么学? 干货资料
http://blog.csdn.net/xllily_11/article/details/52145172
如何学习web前端
http://www.qdfuns.com/notes/31064/8265d348f3555eb5bf55b4a44dc04128.html
一:变量 1:普通变量
function myfun(m,n){ alert(m+n) } myfun(3,2);2 : 使用变量声明函数
var fun=function(m,n){ alert(m+n) } fun(3,4)3: 使用构造函数来声明
var nfun=new Function('m','n','alert(m+n)') nfun(3,5);4: 将函数作为另一个函数的参数
function test2(f){ f(); } test2(test1);5:将函数作为参数
function text(x,fu){ return x+fu() } function fu(){ return 100; } alert(test(10,fu()));6: 将有参函数作为另一个函数的参数
function test2 (x,u){ return x + u(x); ??? } function fu(x){ return x*x; } alert(test2(10,fu()));7:使用函数的返回值作为另一个函数的参数
function test(x,u){ return x+ u; } alert(test(10,fu(10))); alert(fu(10));8:复制变量 注意:在变量复制的时候,基本类型复制的是值本身,而引用类型复制的是地址
二:This属性 this 是JS语言的一个关键字,它代表函数运行时自动生成的一个内部对象。随着函数使用场合的不同,this的值会发生变化,但是有一个总的原则,那就是 this指的是:调用函数的那个对象!
注意:this跟函数在哪里定义没有半毛线关系,函数在哪里调用才决定了this到底引用的是啥 。也就是说 this跟函数的定义没有关系,跟函数的执行有大大关系。 记住:函数在哪里调用才决定了this到底引用的是啥!
this的五种使用环境 - 在函数外部使用
var x=1; //全局变量可以看做window对象的属性 alert(window.x); alert(this.x); 函数内部调用 var x= 1; function test(){ var x=0; alert(x); //这里 x = 0 alert(this.x); // 这里 x=1 alert(window.x); //这里 x 为 object window } 用new来调用 var x=1; function test2(){ this.x=100; } var obj = new test2(); alert(x);//x=1 alert(obj.x);//x=100 作为某个对象的方法调用,这时this就指这个上级对象 var x=1; function test3(){ alert(this.x); } var obj0={}; obj0=1000; obj0.m=test3; alert(x); //1 obj0.m(); //1000 事件中监听的this var x=1; var obj=new test3(); var obj0={}; obj0.x=1000; obj0.m=test3; var div1 = document.getElementById('div1'); div1.onclick()=function(){ alert(this.inner Html); //this 指向的是div 元素 }三:变量和作用域 - 函数的参数都是按照值传递的
<script> var num = 100; function box(num){ num+=100; return num; } var result = box(num); alert(result); alert(num); //这里输出的是100 不是200 </script> <script> var name="张三"; //定义全局变量 alert(name); alert(window.name); //全局变量 最外围 属于Window 属性 function setName(){ return "李四"; } alert(setName()); alert(window.setName()); //全局函数 最外围 属于Window 方法 </script> <script> var name="zhangsan"; function setName(){ var name = "李四"; //定义局部变量 //name = "李四"; //去掉var 变成全局变量 alert(name); } setName(); alert(name); </script>在内部环境可以访问全局变量 外部环境不能访问内部变量和函数
<script> var name = "张三"; function setYear(){ var age = 20; var str = name + age+'岁了'; return str; } alert(setYear()); // alert(age); 什么也不会返回 ,因为age 为内部变量 </script>四:全局变量和函数 全局函数和属性可用于所有内建的Javascript对象。又叫顶层函数或者系统函数
<script> function sum(m,n){ return(m+n); } var str="x=10,y=10,alert(x*y)" alert(str); eval(str); //eval()可计算字符串 并且执行其中的Javascript 代码 </script>escape() 对字符串进行编码 unescape() 对编码的字符串进行解码
<script> // var str="Javascript 进阶教程" // var str1=escape(str); // var str2=unescape(str1); // alert(str) // alert(str1) // alert(str2) function test2 (x,u){ return x + fu(x); } function fu(x){ return x*x; } alert(test2(10,fu)); </script>好吧 本周的总结就先到这里<( ̄︶ ̄)> 第一次写博客真的是超low的 ,知识点总结的比较零碎,语言叙述也存在很大的不足。 不过凡事都有第一次 ,当我跨出这第一步的时候已经就是很大的成功!O(∩_∩)O嗯!
