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();
    

      

  • 相关阅读:
    HTTP状态码的详细解释,供参考
    js中实现页面跳转(返回前一页、后一页)
    CRUD工程师——基础容器LinkedList
    CRUD工程师——基础容器ArrayList
    Servlet入门
    Linux
    flex弹性布局
    div布局
    递归函数
    运算符
  • 原文地址:https://www.cnblogs.com/WeWeZhang/p/6615423.html
Copyright © 2011-2022 走看看