zoukankan      html  css  js  c++  java
  • Python 第五十章 js基础

    js 基础

    js代码引入

    方式1:
        <script>
            alert('欢迎来到德玛西亚!')
    
        </script>
    方式2:外部文件引入
    	src属性值为js文件路径
    	<script src="test.js"></script>
    
    

    变量声明

    变量名是区分大小写的。
    推荐使用驼峰式命名规则。首字母大写
    保留字不能用做变量名。
    var a = 1;
    

    数据类型

    数值类型(number)

    示例:
    	var a = 1;
    	var b = 1.1;
    	var c = 123e5;  // 12300000  e5  *10的5次方
    	var d = 123e-5;  // 0.00123
    	typeof a; --- number
    	typeof b; --- number
    

    字符串(string)

    var a = '陈硕男技';
    	typeof a; --- "string"
    

    字符串 转换 数值类型

    parseInt:
        var a = '111';
        var b = parseInt(a);
        typeof b; --- "number"
    parseFloat:
    	var a = '1.11';
    	var b = parseFloat(a);
    
    var a = 'bbbb1';
    var b = parseInt(a);
    	b = NaN  NaN是not a number
    	typeof b; --- number类型  NaN和NaN不相等
    
    字符串相关方法
    字符串拼接
    	var a = "Hello"
    	var b = "world"
    	var c = a + b; 
    	console.log(c); --- Helloworld
    
    .length 查看字符串长度
    	示例:  
    		var c = 'hello';
    		c.length; -- 5
    .trim()  移除两端空格,得到一个新值,不会改变原来的值
    	示例:
    		var a = '   hello   ';
    		var  b = a.trim();
    .trimLeft()
    .trimRight()
    
    .charAt(n)  找到索引为n的字符
    var c = b.charAt(1);
    
    .concat()  字符串拼接
    	示例:
            var a = 'nihao';
            var b = 'girls';
            var c = a.concat(b);
    
    .indexOf() 查看元素的索引
        示例:
    		var a = c.indexOf('a');
    		var a = c.indexOf('i',3);  参数3的意思是从索引3的位置开始往后找,找到就返回对应的索引值,找不到就返回-1
    .slice() 切片
    	示例:
    		var c = "nihaogirls";
    		var a = c.slice(0,5); -- 'nihao'
    
    .toLowerCase() #全部变小写
    .toUpperCase()  #全部变大写
    	示例:
    		var c = "nihaogirls";
    		var a = c.toUpperCase();
    .split() 字符串切割
    	示例:
    		var c = "nihaogirls";
    		var a = c.split('g',1);  'g'是切割条件,1是切割后,返回结果的数量
    
    

    字符串转换为数值

    parseInt('1') -- 1
    parseFloat('1.11') -- 1.11
    

    布尔值

    var a = true;
    var b = false;
    数据类型都有布尔属性:
    	""(空字符串)、0、null、undefined、NaN都是false。
    

    null和undefined

    null表示值是空,一般在需要指定或清空一个变量时才会使用,如 name=null;
    
    undefined表示当声明一个变量但未初始化时,该变量的默认值是undefined。还有就是函数无明确的返回值时,返回的也是undefined。
    	var a; -- undefined
    	
    null表示变量的值是空,undefined则表示只声明了变量,但还没有赋值。
    

    object类型

    var a = 'xx';
    var b = new String('oo');
    
    数组
    var a = [11,22,33];
    typeof a; -- "object"
    
    var b = new Array([11,22,33,44]);
    typeof b; -- "object"
    
    数组常用方法
    var a = [11,22,33];
    索引取值 -- a[0];
    数组长度 -- a.length;
    尾部追加 -- a.push(44);
    尾部删除 -- a.pop()
    	示例:
    		var a = [11, 22, 33, 44];
    		var b = a.pop();
    		结果:
                a -- [11, 22, 33]
                b -- 44
    头部添加 -- a.unshift('aa')
    	示例:
    		 var a = [11, 22, 33];
    		 a.unshift('aa')
    		 a --  ["aa", 11, 22, 33]
    头部删除 -- shift()
    	示例:
    		var a = ["aa", 11, 22, 33];
    		a.shift() -- 'aa'
    		a -- [11, 22, 33];
    
    切片 -- slice()
    	var b = a.slice(0,3);
    	b -- [11, 22]
    反转 reverse()
    	var a = [11,22,33];
    	a.reverse() 
    	a -- [33,22,11]
    
    数组元素拼接 join
    	示例:
    		var a = ['aa','bb','cc'];
    		var b = a.join('_');
    		b -- "aa_bb_cc";
    
    数组合并 concat
    	var a = ["aa", "bb", "cc"];
    	var b = [11,22];
    	var c = a.concat(b);
    	c -- ["aa", "bb", "cc", 11, 22];
    排序 sort 比较尬
    	示例:
    		var a = [12,3,25,43];
    		对a进行升序排列:
    		1 定义函数
    			function sortNumber(a,b){
                    return a - b
                 };
    		2 var b = a.sort(sortNumber)
    		b -- [3, 12, 25, 43]
    	sort 规则:
    		  如果想按照其他标准进行排序,就需要提供比较函数,也就是自己提供一个函数提供排序规则,该函数要比较两个值,然后返回一个用于说明这两个值的相对顺序的数字。比较函数应该具有两个参数 a 和 b,其返回值如下:
          若 a 小于 b,在排序后的数组中 a 应该出现在 b 之前,则返回一个小于 0 的值。
          若 a 等于 b,则返回 0。
          若 a 大于 b,则返回一个大于 0 的值。
    
    删除 .splice() 
    	示例:
    		var a = ['aa','bb',33,44];
    		单纯删除:a.splice(1,1)
    		a -- ["aa", 33, 44]
    		
    		删除在替换新元素:
    		var a = ["aa", 33, 44];
    		a.splice(0,2,'hello','world');
    		a --  ["hello", "world", 44];
    	三个参数介绍:
    		参数:1.从哪删(索引), 2.删几个  3.删除位置替换的新元素(可多个元素)
    
    自定义对象 -- python字典
    索引取值
    	var a = {'name':'alex','age':48};
    	键可以不加引号:var a = {name:'alex',age:48};
    	a['age']; -- 48
    	a.age; -- 48
    
    类型查询

    img

    运算符

    算数运算符
    + - * / % ++ --  i++,是i自加1,i--是i自减1   i++的这个加1操作优先级低,先执行逻辑,然后再自加1,而++i,这个加1操作优先级高,先自加1,然后再执行代码后面的逻辑
    
    示例:
    	var a = 100;
    	a++;或者++a; -- 101 a自增1
    
    	a++和++a的区别,示例:
    	var a = 102;
    	a++ == 102; -- true
    	a -- 103;
    	++a == 103; -- false
    	a -- 104;
    
    
    比较运算符
    > >= < <= != == === !==
    
    ==(弱等于)和===(强等于)两者的区别:
    	示例:
    		var a = 11;
    		var b = '11';
    		a == b -- true
             a === b; -- false
    
    
    逻辑运算符
    && || !  #and,or,非(取反)!null返回true
    示例:
    	var a = true;
        var b = true;
        var c = false;
        a && b; -- true
        a && c; -- false
        a || c; -- true
        !c; -- true
    
    赋值运算符
    = += -= *= /= 
    示例: n += 1其实就是n = n + 1
    

    流程控制

    if判断

    简单if-else判断
    	var a = 4;
    	if (a > 5){
            console.log('a大于5');
    
        }
        else{
            console.log('小于5');
        };
    
    多条件判断
    var a = 10;
    if (a > 5){
      console.log("a > 5");
    }else if(a < 5) {
      console.log("a < 5");
    }else {
      console.log("a = 5");
    }
    

    switch 切换

    
    示例:
    	var a = 1;
    	switch (a++){ //这里day这个参数必须是一个值或者是一个能够得到一个值的算式才行,这个值和后面写的case后面的值逐个比较,满足其中一个就执行case对应的下面的语句,然后break,如果没有加break,还会继续往下判断
            case 1:
                console.log('等于1');
                break;
            case 3:
                console.log('等于3');
                break;
            default:  case都不成立,执行default
                console.log('啥也不是!')	
    
        }
    	
    
    

    for循环

    for (var i=0;i<10;i++) {  //就这么个写法,声明一个变量,变量小于10,变量每次循环自增1,for(;;){console.log(i)};这种写法就是个死循环,会一直循环,直到你的浏览器崩了,就不工作了,回头可以拿别人的电脑试试~~
      console.log(i);
    }
    循环数组:
    var l2 = ['aa','bb','dd','cc']
    方式1
    for (var i in l2){
       console.log(i,l2[i]);
    }
    方式2
    for (var i=0;i<l2.length;i++){
      console.log(i,l2[i])
    }
    
    循环自定义对象:
    var d = {aa:'xxx',bb:'ss',name:'小明'};
    for (var i in d){
        console.log(i,d[i],d.i)  #注意循环自定义对象的时候,打印键对应的值,只能是对象[键]来取值,不能使用对象.键来取值。
    }
    
    
    

    while循环

    var i = 0;
    var a = 10;
    while (i < a){
    	console.log(i);
    	if (i>5){
    		continue;
    		break;
    	}
    	i++;
    };
    

    三元运算

    var c = a>b ? a:b;  
    

    函数

    定义函数

    普通函数
    function f1(){
    	console.log('111');
    }
    f1();  执行函数
    
    带参数的函数
    function f1(a,b){
    	console.log('111');
    }
    f1(1,2);
    
    带返回值的函数
    function f1(a,b){
    	return a+b;
    }
    f1(1,2); -- 3
    
    返回值不能有多个
    function f1(a,b){
    	return a,b;
    }
    f1(1,2); -- 2
    function f1(a,b){
    	return [a,b];  想要多个返回值,需要换一种数据类型
    }
    f1(1,2); -- [1, 2]
    
    匿名函数:
    	var f1 = function(){
            console.log('111');
        }
        f1();
    
    自执行函数
        (function(a,b){
            console.log(a+b);
        })(1,2);
    

    函数的全局变量和局部变量

    局部变量:
    
    	在JavaScript函数内部声明的变量(使用 var)是局部变量,所以只能在函数内部访问它(该变量的作用域是函数内部)。只要函数运行完毕,本地变量就会被删除。
    
    全局变量:
    
    	在函数外声明的变量是*全局*变量,网页上的所有脚本和函数都能访问它。
    
    变量生存周期:
    
        JavaScript变量的生命期从它们被声明的时间开始。
    
        局部变量会在函数运行以后被删除。
    
        全局变量会在页面关闭后被删除。
    

    作用域

    首先在函数内部查找变量,找不到则到外层函数查找,逐步找到最外层。
    
    var city = "BeiJing";
    function f() {
      var city = "ShangHai";
      function inner(){
        var city = "ShenZhen";
        console.log(city);
      }
      inner();
    }
    f();  
    
    
    var city = "BeiJing";
    function Bar() {
      console.log(city);
    }
    function f() {
      var city = "ShangHai";
      return Bar;
    }
    var ret = f();
    ret();
    
    闭包:
    	var city = "BeiJing";
        function f(){
            var city = "ShangHai";
            function inner(){
                console.log(city);
            }
            return inner;
        }
        var ret = f();
        ret();
    
    

    面向对象

    function Person(name){
    	this.name = name;
    };
    
    var p = new Person('taibai');  
    
    console.log(p.name);
    
    Person.prototype.sum = function(a,b){  //封装方法
    	return a+b;
    };
    
    p.sum(1,2);
    3
    

    date对象

    //方法1:不指定参数
    var d1 = new Date(); //获取当前时间
    console.log(d1.toLocaleString());  //当前2时间日期的字符串表示
    //方法2:参数为日期字符串
    var d2 = new Date("2004/3/20 11:12");
    console.log(d2.toLocaleString())
    
    常用方法
    var d = new Date(); 
    使用 d.getDate()
    //getDate()                 获取日
    //getDay ()                 获取星期 ,数字表示(0-6),周日数字是0
    //getMonth ()               获取月(0-11,0表示1月,依次类推)
    //getFullYear ()            获取完整年份
    //getHours ()               获取小时
    //getMinutes ()             获取分钟
    //getSeconds ()             获取秒
    //getMilliseconds ()        获取毫秒
    //getTime ()                返回累计毫秒数(从1970/1/1午夜),时间戳
    
    
  • 相关阅读:
    Step by step Dynamics CRM 2013安装
    SQL Server 2012 Managed Service Account
    Step by step SQL Server 2012的安装
    Step by step 活动目录中添加一个子域
    Step by step 如何创建一个新森林
    向活动目录中添加一个子域
    活动目录的信任关系
    RAID 概述
    DNS 正向查找与反向查找
    Microsoft Dynamics CRM 2013 and 2011 Update Rollups and Service Packs
  • 原文地址:https://www.cnblogs.com/zhangshan33/p/11534456.html
Copyright © 2011-2022 走看看