js是一个脚本客户端(浏览器)语言。和sql html类似。多练习。
没有排错的经验,弱类型语言,浏览器解释执行,出错也不会报错
变量 给变量赋值 循环 打印
监听动作
在head中,也可以在body中。都需要<script>标签内
alert("");
html从上到下依次执行,如果js放中间,会先中间执行。
比如:给一个控件注册事件,无法执行,可能就应为body还没执行完
大小写敏感,弱类型。 var 可能是数组 对象 没有var 的变量是全局变量,任何地方都能用。
注释:// /**/和c#一样 <!-- -->没用和html,习惯用这个标明 这是一些js代码
多个script标签,就像是一个script标签。在一个script标签定义的变量,在另个script标签页能用。
字符串使用单引号 双引号都一样
嵌入到html的js字符串用单引号,为了防止和属性冲突。
单独的字符串都可以
new Date().toLocaleDateString()
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 2 3 <html xmlns="http://www.w3.org/1999/xhtml"> 4 <head> 5 <title></title> 6 <script src="JScript.js" type="text/javascript"></script> 7 <link href="StyleSheet.css" rel="stylesheet" type="text/css" /> 8 </head> 9 <body> 10 <script type="text/javascript"> 11 alert(new Date().toLocaleDateString()); 12 </script> 13 </body> 14 </html>
添加一个js和css文件,各自的标签script和link有着同样属性type=“text/js” “text/css”
msdn中查看方法,输入方法名
类型
1 <script type="text/javascript"> 2 //var num = 1 + 2 + "3"; 33 3 //var num = 1 + 2 + ‘3‘; 33 4 var num =‘ 1‘ + 2 + ‘3‘;123 5 alert(num); 6 </script>
js从左到右执行变量类型,单双引号使用一样
<script type="text/javascript"> function fun(argu) { return (argu * 2); } alert(fun(‘a‘)); </script>//NaN是Number类型的“值”!!!
NaN:非数字的意思。比如一个数除以0
<script type="text/javascript"> var num = 65; if (num%2==0) { alert(‘num是偶数‘); } else { alert(‘num是奇数‘); } switch (num/10) { case 10: alert(‘优秀‘); break; case 9: alert(‘良好‘); break; case 8: alert(‘一般‘); break; default: alert(‘差‘); break; } </script>
if else switch.. case..:..;break流程控制
<script type="text/javascript"> // var sum = 0; // var index = 0;//0 1无所谓 // while (index<=100) { // sum += index; // index++; // } // alert(sum); var sum = 0; for (var i = 0; i < 101; i++) { //101非100 sum += i; } alert(sum); </script>
循环 while for 增量 总和
1 <script type="text/javascript"> 2 function fun(argu) { 3 //此处typeof返回的类型的“值”,此处的Numeber类型的值为number注意。 4 if (typeof (argu)==‘number‘) { 5 alert(argu * 2); 6 } else { 7 alert(‘非数字‘); 8 } 9 } 10 fun(2); 11 </script>>
typeof()返回变量类型的值。此处的Numeber类型的值为number注意。要加引号!String类型的值为‘string’
调试多alert一下; 打开调试工具---开启调试--设断点-- 刷新网页--添加监视。
定义方法,方法命名 小写字母开头,不和系统方法名重复。方法参数没有类型,return也没有返回值。方法的就进原则。
<script type="text/javascript"> function fun() { alert(‘无参数‘); } function fun(num) { alert(num); } fun();//会执行第二个fun,就近原则 </script>
方法就进原则
1 <script type="text/javascript"> 2 function fun() { 3 for (var i = 0; i < arguments.length; i++) { 4 alert(arguments[i]);//arguments是一个参数数组,在考虑“重载”用arguments。lenth小写.属性方法都小写 5 } 6 } 7 fun(‘a‘,1,0,new Date().toLocaleString()); 8 </script>
arguments参数对象。js属性方法小写。闭包(类)大写
class Program { public static void fun(params object[] arObjects) { for (int i = 0; i < arObjects.Length; i++) { Console.WriteLine(arObjects[i]); } } static void Main(string[] args) { fun("a",1,2,3); Console.ReadKey(); } }
相当c#的params object[]数组
匿名方法
undifined null
面向对象:如何使用js实现一个对象
数组