zoukankan      html  css  js  c++  java
  • JavaWeb

    /**
     * JavaScript简介
     */
    一种动态类型、弱类型、基于原型的语言
    常用来为网页添加各式各样的动态功能
    为用户提供更流畅美观的浏览效果
    /**
     * 特点
     */
    解释性脚本语言(代码不进行预编译)
    主要用来向HTML页面添加交互行为
    可以直接嵌入HTML页面 
    跨平台特性,在浏览器的支持下,可以在多种平台下运行
    /**
     * 演变历史
     */
    1992年,Nombas公司开发出C--嵌入式脚本语言,后改名为ScriptEase,跟C++没有半毛钱关系,创新性地支持客户端执行
    Netscape公司吸收了Nombas的开发理念,Brendan Eich设计研发liveScript,后与Sun公司合作更名为JavaScript
    Windows公司不要脸的窃取JavaScript嵌入到IE,对外声称Jscript,页游方面称为ActionScript
    ECMA组织提出ECMA-262规范,统一三家JavaScript,史称ECMAScript
    /**
     * JavaScript的组成部分
     */
    ECMAScript  核心
    DOM         文档对象模型
    BOM			浏览器对象模型
    /**
     * Script结合方式一
     */
    <script type="text/javascript">
    </script>	
    /**
     * Script结合方式二
     */
    <script type="text/javascript" src="../js/index.js"></script>
    /**
     * JavaScript语法
     */
    1)弱变量类型的语言
    2)没有文档注释
    3)带var声明表示局部变量,不带var声明表示全局变量
    4)一个var允许声明多个变量,逗号分隔
    5)建议每句以分号结束,允许不加分号
    6)变量的书写区分大小写
    var weMou = "nobody";
    weMOu = 666;
    weMou = true;
    /**
     * 变量分类
     */
    原始类型 ~ Java中的基本数据类型
    对象类型 ~ Java中的引用数据类型
    /**
     * 堆内存和栈内存
     */
    栈内存特别小,存放所有的引用地址,和原始类型的值
    堆内存相对大,存放对象类型的值
    /**
     * js中的原始类型
     */
    1) number	 数字
    2) string	 字符串
    3) boolean	 布尔值
    4) null		 手动置空对象,对象数据类型的占位符
    5) undefined 变量未初始化
    /**
     * typeof
     */
    返回原始类型数据的数据类型
    /**
     * js语句
     */
    1)判断
    	if else
    	switch
    2)循环
    	for
    	while do
    	do while	
    /**
     * js中的运算
     */
    NaN not a number 表示错误的数字,如:+"a"
    2!=true
    null==false
    NaN!=NaN
    /**
     * 数据类型转换
     */
    js是弱类型的语言,js会在需要的时候,自动转换数据的类型
    /**
     * Function对象  函数对象
     */
    function funWenHou(){
        return "Hello Word";
    }
    var funWenHou = function (){
        return "Hello Word";
    }
    var funWenHou =  new Function ("return 'Hello Word';");
    console.log(funWenHou());
    console.log(funWenHou.toString());
    /**
     * 属性和传参
     */
    function funWe() {
    	console.log(this.length);//参数个数
        console.log(arguments);  //参数数组
    }
    funWe("we","we","zhang");
    /**
     * void()
     */
    拦截方法的返回值
    function funWe() {
        return "wewezhang";
    }
    javaScript: void(funWe("wewezhang"));
    /**
     * void(0)
     */
    href = "javaScript:void(0)"
    src = "javaScript:void(0)"
    阻止默认行为,阉割掉
    /**
     * 三大包装对象 - String对象
     */
    java中有"自动拆装箱机制"
    js中有"伪对象"的概念,原始类型可以直接调用对应包装类型的属性和方法
    //创建,构造方法具有强制类型转换的功能
    var weString = new String(此处允许填任何类型数据);
    //属性
    weString.length            字符串的长度
    //方法,伪对象的方法
    "helloWord".length
    "hello".charAt(0)          返回指定索引位置的字符
    "hello".concat("Word")     拼接字符串
    "helloWord".slice(0,5)     截取字符串
    "helloWord".substring(0,5) 截取指定索引号间的字符串
    "helloWord".indexof("a",0) 从某索引开始检索字符串
    "helloWord".split("")      分割为字符串数组
    "helloWord".replace()      替换匹配正则
    /**
     * instanceof
     */
    判断对象数据的类型是否为某种类型
    var str = new String("wewezhang");
    if (str instanceof String) {
    }
    /**
     * Global对象
     */
    不需要创建实例,即可直接调用全局属性和全局方法
    encodeURI("")          用于对整体url编码,忽略特殊字符的编码
    decodeURI("")		   用于对整体url解码,忽略特殊字符的解码
    encodeURIComponent("") 用于对url中的参数进行编码,同时会对特殊字符进行编码
    decodeURIComponent("") 用于对url中的参数进行解码,同时会对特殊字符进行解码
    parseInt("007")
    parseFloat("8.88")
    var x = parseInt("ax5");
    if (isNaN(x)) {
        console.log("是NaN");
    } else {
        console.log("不是NaN");
    }
    eval("console.log('这也太神奇了')");
    Math.abs(-123.321)  取绝对值
    Math.round(123.321) 四舍五入
    Math.ceil(123.321)  向上取整      
    Math.floor(123.321) 向下取整
    Math.random()       随机数
    /**
     * 数组Array对象
     */
    var weArray = [1,2,3];
    var weArray = new Array(1,2,3);
    var weArray = new Array(8);    //比较特殊,8表示数组长度
    当参数只传递一个数字的时候,表示创建一个长度为数字的空数组
    //压栈,按内容
    var weArray = [1,2,3];
    console.log(weArray);
    weArray.push(4);
    console.log(weArray);
    weArray.unshift(0);
    console.log(weArray);
    //弹栈,按序列号
    var weArray = [0,1,2,3,4];
    console.log(weArray);
    weArray.pop(4);
    console.log(weArray);
    weArray.shift(0);
    console.log(weArray);
    //reverse()  数组反转
    var weArray = [0,1,2,3,4];
    console.log(weArray);
    weArray.reverse();
    console.log(weArray);
    //sort()  数组排序
    var weArray = [1,3,1,8,4,1,5,2,8,9,1];
    console.log(weArray);
    weArray.sort(function(weNum1,weNum2){return weNum1-weNum2});
    console.log(weArray);
    weArray.sort(function(weNum1,weNum2){return weNum2-weNum1});
    console.log(weArray);
    /**
     * Date
     */
    var weDate = new Date();
    var weDate = new Date(1490842239819);
    console.log(weDate.getFullYear());
    console.log(weDate.getMonth()+1);
    console.log(weDate.getDate());
    console.log(weDate.getHours());
    console.log(weDate.getMinutes());
    console.log(weDate.getSeconds());
    console.log(weDate.getTime());
    console.log(weDate.getDay());
    /**
     * Window对象
     */
    浏览器自动创建,不需要程序员管理
    window.alert("弹出警告框");
    window.confirm("你真狠心这么做吗?");
    window.prompt("请输入口令:床前明月寄相思");
    /**
     * 定时器
     */
    var oInterval = setInterval(function(){
        alert("wewezhang");
    },1000);
    clearInterval(oInterval);
    var oTimeout = setTimeout(function(){
        alert("wewezhang");
    },1000);
    clearTimeout(oTimeout);
      
    /**
     * 猜数字小游戏
     */
    function funTest(number){
        var iMou = Math.round(Math.random()*100);
        iMou = number?number:iMou;
        var iInput = window.prompt("请输入0到100之间的整数", 0);
        if (isNaN(+iInput)) {
            alert("输入不合理,请重新输入数字 "+iMou);
            funTest(iMou);
        } else {
            if (+iInput==iMou) {
                window.confirm("恭喜你蒙对了,是否继续玩")?funTest():true;
            } else {
            	if (+iInput>iMou) {
            		alert("大了,请重新输入数字 "+iMou);
            	} else {
            		alert("小了,请重新输入数字 "+iMou);
            	}
            	funTest(iMou);
            }
        }
    }
    funTest();
    

      

  • 相关阅读:
    Year Outline stat Detail stat 1987--1996----1999 C:UsersATIDocuments00drmmr v2 tafdrmmr1987-20
    atitit 2010 2010 diary log events memorabilia v3 taf .docx No finish , wait to finish 1.6 yLu
    Atitit 标记语言ML(Markup Language) v4 目录 1. 标记语言ML Markup Language 1 1.1. 简介 1 2. 置标语言置标语言通常可以分为三类:标识性的
    Atitit 2001drmmr v1 t05.docx 1.1shoeho kh majyao n chfe ,bg n rjywel ycyi ,shwa leihaivvei yaopao
    Atitit nlp重要节点 v3 目录 1. 语法分析重点 节点余额365个 1 2. nlp词性表 2 2.1. 词语分类13类 2 2.2. 副词 约20个 3 2.3. 代词30个 3 2
    Atitit 提升语法级别4gl 4.5g 4.9g 5g 目录 1. 语言级别表 1 2. 4.9g实现细节 2 2.1. $dollor前导符 2 2.2. Static变量 2 2.3. S
    Atitit 工程师程序员技术级别对应表与主要特征 P1--p6 说明 类别 职称 对应技术标志 P5 高级工程师 工程师类 一般四五年 P6 资深开发 工程师类 78年经历 P7 P7
    Atitit 自然语言与人工语言的语法构建ast的异同点 目录 1. 语言节点gaishu。。 2 1.1. 节点、函数数量大约200个 2 1.2. 关键词节点 是 有 的 3 1.3. 标识符
    Atitit 编程语言的block概念 目录 1. 匿名block 1 1.1. 函数块 方法快 1 1.2. Sp udf块 1 2. 实现block的方式 1 2.1. 早期的语言大多是采用en
    Atitit 效率提升法细则 v3 t028.docx Atitit 提升效率细则 目录 1. 目标 2 1.1. 配置化增加扩展性 尽可能消除编译 方便增加 调整业务逻辑 2 1.2. 统一接口
  • 原文地址:https://www.cnblogs.com/WeWeZhang/p/6615423.html
Copyright © 2011-2022 走看看