javascript语法

     alert(new Date().toLocaleString());

      varnum = new Number();

      num =11;

     alert(num);

      var a= "a";

     alert(a);

      var b= 'b';

     alert(b);

      var a= "123";

      if(isNaN(a)) {

     alert("是一个数字");

  }

  else {

     alert("不是一个数字");

  }

  alert("3+3="+eval_r(3+3));

  var sum = 0;

  for (var i = 1; i <= 100;i++) {

      sum+= i;

  }

  alert(sum);

不能重载,存在覆盖

  function add(num1, num2) {

     return num1 + num2;

  }

     function add(num1) {

         return num1 + 1;

     }

    //   alert(add(1,2));

    //数组

     function show(num) {

        alert(arguments.length);

         for(vari=1;i<arguments.length;i++)

         {

            alert(i+1);

         }

     }

     alert(show(1,2,3,4,5));

    //小例子 js中没有重载

      var x= 1;

      var y= 0;

      var z= 0;

     function add(n) {

         n = n + 1;

         return n;

     }

      y =add(x);

     function add(n) {

         n = n + 3;

         return n;

     }

      z =add(x);

     alert("y=" + y + '\n' + "z=" + z);

 //匿名函数调用

(function(n1,n2){

var n3=n1+n2;

alert(n3);

})

(1,2)  //调用匿名函数

//匿名函数

       var x = 1;

       var y = 0;

       var z = 0;

       var add = function (n) { n = n + 1; return n } //定义一个变量指向一个函数

       y = add(x);

       add = function (n) {  //重写add变量,指向新的function函数

           n = n +3;

           returnn;

       }

       z = add(x);

       alert("y=" + y + ' ' + "z=" + z);

//匿名函数加括号调用

  function test(x) {

     return (function () { return x + 1;})()  

  }

  alert(test(1));

//通过new创建类

  function Person() {document.writeln("你好");};

  var p = new Person(); //通过new创建一个类的对象

  p.name = "张三";

  p.age = 19;

  p.sayhi=function () {alert('Hello');

  }

  p.sayhi();

  alert(p.name);

  alert(p["age"]);

  var q = Person();

//面型对象,通过this指针属性

  function Person(name, age) {

     this.name = name;   //前面是动态创建的属性

     this.age = age;

     this.sayHi = function () {   //方法套方法

         alert("我叫"+name);  //内部函数调用外部函数的属性

     }

  }

  var p = new Person("李四", 18);

  p.sayHi();

//确定对话框
       function del() {
           //弹出提示,返回bool类型
           if (confirm('是否删除')) {
               alert('删除');
           }
           else {
               alert('不删除');
           }
       }
//setInterval('',2000)2秒后启动
       function time() {
           setInterval("alert('定时器')",2000);
       }
//关闭定时器
       var terId; //指向=setInterval(“alert(‘定时器’)”,2000);
       function stop() {  //关闭定时器
       if (terId) {
           clearInterval(terId);
           }
       }
//定时器,使得文本框自动加1,匿名函数
      setInterval(function () {
             var num =window.txtNum.value;
             num =parseInt(num) + 1;
            window.txtNum.value = num;
          },1000);
         //过两秒,只执行一次
      setTimeout(function () {
         alert("定时两秒执行一次,只执行一次");
       },2000);
//跑马灯
      <title>我爱中华人民共和国</title>
         <script type="text/javascript">
            setInterval(function () {
                var title =document.title;
                var first =title.substring(0, 1);
                var last =title.substr(1);
               document.title = last + first;
             },100)
         </script>
//左右跑马灯
<head>
   <title>我爱中华人民共和国</title>
   <script type="text/javascript">
       var dir = "left";
       setInterval(function () {
           var title = document.title;
           var first;
           var last;
           if (dir == "left") {
                first = title.substr(0, 1);
                last = title.substr(1);
               
           }else if (dir=="rigth") {
                last = title.substr(title.length - 1);
                first = title.substr(0, title.length -1);  
           }
           document.title = last + first;
       }, 1000)
       function setDir(d) {
           dir = d;
       }
   </script>
</head>
<body>
   <input type="button" value="向左"onclick="setDir('left')"/>
   <input type="button" value="向右"onclick="setDir('rigth')"/>
</body>
//在文本框中写字
//动态注册时间 窗体加载完成之后执行
       window.onload = function () {
           //window.txt.value = "admin";
           document.getElementById_x("txt").value = "admin";
       }
//重刷页面
window.location.reload();
//判断是否按下某个键
        function span_click() {
           //判断是否按了alt
           if (window.event.altKey) {
               window.location.herf = "dom.htm";
           }
       }
//获取鼠标坐标
<script type="text/javascript">

       document.onmousemove = function () {
           //鼠标在文档上的位置
           //document.title = "X:" + window.event.clientX + "Y:" +window.event.clientY;
           //鼠标在屏幕上的位置
           //document.title = "X:" + window.event.screenX + "Y:" +window.event.screenY;
           //鼠标相对于事件源的位置
           document.title = "X:" + window.event.offsetX + "Y:" +window.event.offsetY;
       }
   </script>
//标签是否有权限跳转
       functionlink_click(right) {
           if (right) {
               alert("有权限");
           }
           else {
               alert("无权限");
               window.event.returnValue = false;
           }
       }
      //标签先执行事件,然后执行连接
      <a href="dom.htm" onclick="link_click(1)">link</a>

//验证表单验证是否为空  ,该方法对火狐么用,returnValue是IE用的
        function btn_click() {
            var txt = document.getElementById("txt").value;
            if (txt.length == 0) {
                alert("请输入用户名");
                //让文本框获得光标
                document.getElementById("txt").focus();
                //取消默认行为
                window.event.returnValue = false;
            }
        }
<!-- 对于表单来说默认行为就是表单的action方法 -->
<input type="submit" onclick="btn_click()" value="提交内容"/> 
//动态注册事件,事件响应函数
        //只有在事件响应函数中return false,才可以取消
        window.onload = function () {   //容易犯错的地方,必须加上window.onload,不然标签还没有加载
            document.getElementById("link").onclick = function () { //这儿注意getElementById 第一个字母是小写
                alert("无权限");
                return false;
            }
        }
<span id="lnk" onclick="link_click(1)">我是超链接</span><br />
<input type="submit" onclick="btn_click();return false;" value="提交内容" /> //加上返回flase之后 不会再执行提交了

//粘贴板
<script type="text/javascript">
        function f1() {
            var t = document.getElementById("txt").value;
            window.clipboardData.setData("text", t);
        }
    </script>
<input id="txt" type="text" value="http://www.qiushibaike.com" />
    <input type="button" value="复制" onclick="f1()" />
//禁止复制和粘贴
<input id="num1" type="text" oncopy="alert('禁止复制');return false;" />
    <input id="text1" type="text" onpaste="alert('禁止粘贴')return false;" />
//添加复制版权
//用户复制的时候加上版权
        function on_copy() {
            var t = clipboardData.getData("text");
            t = t + "<br/>版权:Http://www.dingxiaowei.com";
            clipboardData.setData("text",t);
        }
   <body oncopy="setTimeout('on_copy()',100)"> <!-- 要设置一个定时器,可能内容还没有复制到剪贴板上 -->

时间: 2024-12-23 22:41:57

javascript语法的相关文章

12种不宜使用的Javascript语法

这几天,我在读<Javascript语言精粹>. 这本书很薄,100多页,正好假日里翻翻. 该书的作者是Douglas Crockford,他是目前世界上最精通Javascript的人之一,也是Json格式的创造者. 他认为Javascript有很多糟粕.因为1995年Brendan Eich设计这种语言的时候,只用了三个月,很多语言特性没有经过深思熟虑,就推向了市场.结果等到人们意识到这些问题的时候,已经有100万程序员在使用它了,不可能再大幅修改语言本身了.所以,Douglas Crock

JavaScript语法树与代码转化实践

JavaScript 语法树与代码转化实践 归纳于笔者的现代 JavaScript 开发:语法基础与实践技巧系列文章中.本文引用的参考资料声明于 JavaScript 学习与实践资料索引中,特别需要声明是部分代码片引用自 Babel Handbook 开源手册;也欢迎关注前端每周清单系列获得一手资讯. JavaScript 语法树与代码转化 浏览器的兼容性问题一直是前端项目开发中的难点之一,往往客户端浏览器的升级无法与语法特性的迭代保持一致;因此我们需要使用大量的垫片(Polyfill),以保证

JavaScript语法细节——引用与复制

原文:JavaScript语法细节--引用与复制 我们都知道,JS中变量的赋值有两种方式,最近在折腾自己写的标签栏插件,碰到了很多平时没注意的问题.正好,那边处理清楚了,稍微整理一下关于引用与复制相关知识,可能会不定期增加新碰到的问题,有错误希望看到的人指出,避免传播不正确的知识. 先大致分一下类,引用类型:Object以及其旗下的Array,Date,RegExp,Function:基本包装类型:Boolean,number,String. 在赋值与传递参数的时候,引用类型传递的是指针,基本包

《JavaScript DOM 编程艺术》读书笔记之JavaScript 语法_javascript技巧

注释         单行注释://         多行注释:/* */         "<!--"可以用作单行注释,由于和HTML的"<!--  -->"多行注释类似,容易混淆,所以不建议这种注释方法 变量        在JavaScript 语言里,变量和其他语法元素的名字都是区分字母大小写的.名字mood的变量与名字是Mood.MOOD或mOOd的变量没有任何关系,它们不是同一个变量.        JavaScript 语法不允许变量

IE和Firefox之间在JavaScript语法上的差异_javascript技巧

尽管 JavaScript 历史上使用冗长而令人生厌的代码块来标的特定浏览器的时期已经结束了,但是偶尔使用一些简单的代码块和对象检测来确保一些代码在用户机器上正常工作依然是必要的. 这篇文章中,我会略述一下 Internet Explorer 和 Firefox 在 JavaScript 语法上不同的 7 个方面. 1. CSS "float" 属性 获取给定对象的特定 CSS 属性的基本语法是 object.style 属性,而且有连字符的属性要用骆驼命名法来代替.例如,获取一个 I

JavaScript语法高亮插件highlight.js用法详解【附highlight.js本站下载】[原创]_javascript技巧

本文实例讲述了JavaScript语法高亮库highlight.js用法.分享给大家供大家参考,具体如下: highlight.js是一款基于JavaScript的语法高亮库,目前支持125种编程语言,有63种可供选择的样式,而且能够做到语言自动识别,和目前主流的JS框架都能兼容,可以混合使用. 这款高亮库可以用在博客系统中,其使用方法及其简单,几乎不需要任何学习成本,下面介绍highlight.js的使用. 1.获取highlight.js库,用户可以从官网获取: 地址:https://hig

JavaScript语法着色引擎(demo及打包文件下载)_prototype

应 得意小蛇 的建议,我整理了一下去年写的JavaScript语法着色引擎,并提供下载,喜欢的尽管拿去,嘿嘿 总的来说是很简单的东西,只是提供了关键字的着色以及一些基本的语法(例如注释,字符串,正则等等),从demo中应该很容易看到其用法,这里简单介绍下: 类名:Lighter 通过new Lighter()可以得到一个着色引擎实例,假设为lighter,有以下属性和方法: 语言属性:lighter.language 这个属性的范围是可以根据语法文件的数量自己添加的,提供的demo中有'cpp'

谈谈javascript语法里一些难点问题(一)

1)    引子 前不久我建立的技术群里一位MM问了一个这样的问题,她贴出的代码如下所示: var a = 1; function hehe() {          window.alert(a);          var a = 2;          window.alert(a); } hehe(); 执行结果如下所示: 第一个alert:   第二个alert:   这是一个令人诧异的结果,为什么第一个弹出框显示的是undefined,而不是1呢?这种疑惑的原理我描述如下: 一个页面

谈谈javascript语法里一些难点问题(二)

3)    作用域链相关的问题 作用域链是javascript语言里非常红的概念,很多学习和使用javascript语言的程序员都知道作用域链是理解javascript里很重要的一些概念的关键,这些概念包括this指针,闭包等等,它非常红的另一个重要原因就是作用域链理解起来太难,就算有人真的感觉理解了它,但是碰到很多实际问题时候任然会是丈二和尚摸不到头脑,例如上篇引子里讲到的例子,本篇要讲的主题就是作用域链,再无别的内容,希望看完本文的朋友能有所收获. 讲作用域链首先要从作用域讲起,下面是百度百

常用JavaScript语法106条

1.输出语句:document.write("") 2.JS中的注释为:// 3.传统的HTML文档顺序是:document->html->(head,body) 4.一个浏览器窗口中的DOM顺序是:window->(navigator,screen,history,location,document) 5.得到表单中元素的名称和值:document.getElementById("表单中元素的ID号").name(或value) 6.一个小写转大