javascript(一)

Posted on 2018-10-11 16:45  eilinge  阅读(224)  评论(0编辑  收藏  举报
JavaScript是一种属于网络的脚本语言,已经被广泛用于Web应用开发,常用来为网页添加各式各样的动态功能,为用户提供更流畅美观的浏览效果。通常JavaScript脚本是通过嵌入在HTML中来实现自身的功能的。
  1. 是一种解释性脚本语言(代码不进行预编译)。
  2. 主要用来向HTML标准通用标记语言下的一个应用)页面添加交互行为。
  3. 可以直接嵌入HTML页面,但写成单独的js文件有利于结构和行为的分离
  4. 跨平台特性,在绝大多数浏览器的支持下,可以在多种平台下运行(如WindowsLinux、Mac、Android、iOS等)

Javascript基本知识

<! doctype html>
<html>
<head>
<title>document</title>
<meta charset='utf-8' type='text/javascript'/>                  //申明javascript脚本
<script type='text/javascript' src='javascript_1.js'>        //定义外连接脚本
</script>
<script>
function hello(user)                                                                         //定义hello函数
    {
        return '<h1>hello,'+user+'</h1>';
    }
</script>
</head>
<script>
var user='world';
</script>
<body>
//<p id='box'>JavaScript脚本岂能随意放置!<p>
<script>
//document.write('nihao')
//document.getElementById('box').style.fontSize = '50px';//获取id=‘box’标签 定义字体
//document.write(hello(user));                                                    //调用函数hello(user)
var str = 'javascript编程语言';
document.write("<h2>"+str+"</h2>");
document.write("<p>实际长度="+strlen(str)+'字节</p>');
</script>
</body>
</html>

javascript语法基础

1.语言编码
    不要使用中文命名变量
2.大小写敏感
    1.声明类型:习惯首字母大写
    2.声明变量:习惯小写
3.代码格式化
    1.'\t'制表符
    2.'\n'换行符
    3.'\s'空格符
4.代码注释
    //
5.标签
    1.由一个合法的字符名称加上一个冒号
    2.标签可以放在随意行的起始位置
    3.结构中使用 break\continue

判断,循环体

loop:for(var j=1;j<6;j++)
    {
        //if (j == 2) continue loop;        //跳出循环体,重新开始
        if (j == 2) break loop;                //跳出循环体,停止运行
        document.write('<br/>'+j); 
    }
var a = [];
for (var i=0,j=10;i<=10;i ++ ,j --)
    {
        a [i,j] = i + j;
        document.writeln('a['+i+','+j+']='+a[i,j]);
    } 
var age = prompt('你好,请输入你的年纪');
switch(age)
{
    case '1':
        alert('你上一年级');
        break;
    case '2':
        alert('你上2年级');
        break;
    case '3':
        alert('你上3年级');
        break;
    default:
        alert('你几年级');
    
}
var i = 0;
while(i<10)
{
    i ++;
    document.write('<br/>'+i);
}
var j = 10;
do 
{ 
    j --;
    document.write('<br/>'+j);
}
while(j >2); 
for(var a = 1,b=2,c=1;a+b+c < 100;a ++ ,b += 2,c *=2)
{
    document.write('a='+a,',b='+b,',c='+c +'<br/>');
}

基本类型

//{} 对象
var me =     {
    name : '张三',
    say : function() {return 'hi,world';}
            }
document.write('</h1>'+me.name + ':'+me.say()+'</h1>');
//[] 数组
var me =     [
    '张三',
    function() {return 'hi world';}
            ]
document.write('<h1>'+me[0]+me[1]()+'</h1>');

异常处理语句:

异常处理语句:
try            执行语句
{    
    CreateExpection();
}
catch(ex)    补货异常
{
    alert(ex.number+'\n'+ex.description);
}
finally        最后必须执行的语句
{
    alert('end');
}

数据类型: 数值 字符串 和布尔值

var a = 100;
var c = a.toString();
var d = !!c;
alert(typeof(c));
alert(typeof(d));
alert(typeof(e));
0             //Number
NaN            //Number
''            //String
false        //Boolean
null        //Object
underfined     //Underfined

函数:

//1.使用function         语句声明函数
//2.Function           对象来构造函数
function f(){};         //命名函数
var f = function(){};//匿名函数
var say = new Function('name','say',"document.write(name+':'+say);");
say('张三','你好'); */
//函数的应用:
//1.匿名函数:当只需要一次性使用函数时,使用匿名函数会更有效率
//2.函数作为值
//3.函数作为参数
//4.函数作为表达式
/*
var z = function(x,y) {
    return (x + y) /2 ;}
alert(z(23,33)); */
//闭包函数:闭包函数被外部函数调用后,他的变量不会消失,任然被内部函数所使用,而且所有内部函数都拥有对外部函数的访问权限
/*
function a()
    {
        var n = 0;
        function b(m)
        {
            n = n +m;
            return n;
        }
        return b;
    }
var b = a();
document.write(b(3)+'<br/>');   //3
document.write(b(3)+'<br/>');   //6
document.write(b(3)+'<br/>');    //9

对象

var o = new Object();
var date = new Date();                //构造日期对象
var ptn = new RegExp('ab+c','i');    //构造正则表达式对象
var point = 
{
    f :function(){return this.y;},
    y : -1.2
};
var y = point.f();
//alert(y);
var cdb = 
{
    x : {
            a :1 ,
            b: 2
        },
    y : -1.2
}
//document.write(cdb.x.a);
document.write(cdb['x']['b']);

数组 Array()

var a = [1,2,'3','4','3.4','abc'];
a[2]=7;             //[1,2,7,'4','3.4','abc'];
a.length = 3;        //[1,2,7];
a.push(5,6,7);        //[1,2,7,5,6,7];
b = a.pop();        //[1,2,7,5,6];
c = a.unshift(33);    //[33,1,2,7,5,6];
d = a.shift();        //[1,2,7,5,6];

//document.write(a);
//document.write(b);
//document.write(c);
//document.write(d);
//splice(a,b,c) a:指定插入的起始位置 b:指定要删除元素的个数 c:插入的具体元素
document.write('a1='+a);              //a1 = 1,2,7,5,6
var e = a.splice(2,3,23,33,44);        
document.write('a2='+a);            //1,2,23,33,44
document.write('<br/>'+e);            //7,5,6
*/
var a =[1,2,6,4,5];
a = a.join('-');                                
document.write('a类型 = '+typeof(a)+'<br/>');    //字符串
document.write('a的值 = '+a);                    //1-2-6-4-5

var s = a.split('-');
document.write('s类型 = '+typeof(s)+'<br/>');    //Object
document.write('s的值 = '+s);                    //1,2,6,4,5
document.write('<br/>'+s.sort().reverse());        //6,5,4,2,1
var f = s.concat(55,66);
document.write('<br/>'+'f的值 = '+f);            //concat()添加数组 6,5,4,2,1,55,66
document.write('<br/>'+f.slice(2,4));            //4,2
</script>
</body>
</html>