python27期JavaScript:

余生颓废 提交于 2019-12-06 13:45:39
JavaScript:(简称“JS”) 是一种轻量级的编程语言(ECMAscript5或6)是一种解释性脚本语言(代码不进行预编译)主要用来向HTML页面添加交互行为JavaScript 是互联网上最流行的脚本语言虽然它是作为开发Web页面的脚本语言而出名的,但是它也被用到了很多非浏览器环境中支持面向对象、命令式和声明式(如函数式编程)风格JavaScript在1995年由Netscape公司的Brendan(布兰登) Eich,在网景导航者浏览器上首次设计实现而成。因为Netscape与Sun合作,Netscape管理层希望它外观看起来像Java,因此取名为JavaScript我们学习它的目的是让我们的页面可以动起来(HTML、CSS只能写出静态效果),并且可以添加一些用户交互的行为- JavaScript,他和Python一样是一门编程语言,而浏览器内置了JavaScript语言的解释器,所以JavaScript代码在浏览器上就可以运行- DOM,(Document Object Model)是指文档对象模型,通过它,可以操作HTML文档的相关功能,例如:对标签内容进行删除和替换等(非重点)- BOM,(Browser Object Model)是指浏览器对象模型,通过他,可以操作浏览器相关的功能,例如:浏览器设置定时器,浏览器定时刷新页面。三种js代码引入方式:1 head标签的script标签里面(alert('xx'), confirm('xx'))    <script>        <!--alert("xx");-->        <!--confirm("xx")-->    </script>2 body标签的script标签里面 (建议底部)    <script src="test.js"></script>    js代码如下:    alert("18禁");    confirm("你满18岁了吗?");3 外部文件引入的方式来使用创建一个.js结尾的文件,写上js代码比如:alert('are you ok?');在想使用这个js代码的html文件中,head标签或者body标签下面或者上面导入<script src="test.js"></script>推荐大家把js代码都放在body标签的底部语言基础:变量:var a = 100;     变量定义 var 变量名;     变量声明,但没有赋值的时候,变量的值为undefined数据类型:number类型 (整数,浮点数)var n = 11;var n2 = 11.11;js代码注释  //  js代码查看数据类型 typeof 变量名;typeof n;string类型(字符串)var a = 'abcdef';var a = new String('ss');字符串操作:var s = 'hello';索引取值:  s[1] -- 'e'获取长度:s.length;移除两端空格: s.trim();   s.trimLeft(); s.trimRight();var value = name.charAt(index)            // 根据索引获取字符   示例: var s = 'hello'; -- s.charAt(4); -- 'o'var value = name.substring(start,end)         // 根据索引获取子序列(切片)   示例: s.substring(1,3); -- "el"布尔类型(boolean类型)var a = true;var b = false;undefined和null类型:undefined 变量声明了,但是没有赋值,此时这个变量是undefined类型null : 变量不用了,就可以给变量赋值为null,--- object类型数组  (array)var names = [11,22,33];数组常用方法:    names[0]   // 索引,索引也是从0开始的        names.push(ele)       // 尾部追加元素            示例:a.push('xx');       --  [11, 22, 33, "xx"]        names.pop()        // 尾部移除一个元素            示例:a.pop(); -- [11, 22, 33]        names.unshift(ele)           // 头部插入元素            示例:a.unshift('ssss'); --  ["ssss", 11, 22, 33]        var ele = obj.shift()          // 头部移除一个元素            示例:a.shift(); --  [11, 22, 33]数组常用方法:指定位置修改元素    names.splice(index,0,ele)     // 在指定索引位置插入元素    names.splice(从哪删(索引),删几个(个数),删除位置替换的新元素(可不写,可写多个))    names.splice(index,1,ele)     // 指定索引位置替换元素    names.splice(index,1)         // 指定位置删除元素    示例:a.splice(1,2)    示例:a.splice(1,1,'xx','oo','asdf'); -- [11, "xx", "oo", "asdf", 33]数组常用方法:    names.slice(start,end)         // 切片    示例:a.slice(1,3);    names.reverse()           // 原数组反转    示例:a.reverse();    names.join(sep)           // 将数组元素连接起来以构建一个字符串    示例: var a = ['ni','hao','ma',18]    a.join('+'); -- "ni+hao+ma+18"    names.concat(val,..)      // 连接数组    示例: var a = [11,22]; var b = ['aa','bb']    var c = a.concat(b); c -- [11, 22, "aa", "bb"]    names.sort()    (辣鸡)       // 对原数组进行排序  a.sort(compare); 升序排列解决数组中数字排序的问题:a = [2,3,5,2,22,4,2,3,234,1]function com(a,b){return a-b};    // 自定义排序规则a.sort(com);当a-b大于0时,会交换数组中的这两个元素一直交换直到返回值没有大于0的字典(自定义对象Object):JavaScript中其实没有字典类型,字典是通过对象object构造出来的info = {    name:'迪丽热巴',    "age":18}或者var a = {username:'xx',password:'123'}; //键可以不加引号var a = info['name']      // 通过键取值必须加引号      (info.name)info['age'] = 20         // 修改info['gender'] = 'male'       // 新增delete info['age']       // 删除流程控制if判断if (a == 1){       //判断条件写在小括号里面,大括号里面写条件判断成功后的代码内容   console.log('1111');      (类似print)}else{   console.log('222');}流程控制多条件判断    if(a > 1){        // console.log('1111');        // var hhhh = document.getElementById('d1');        // hhhh.innerText = '彭于晏';    }else if(a<1){        console.log('2222');    }else {        console.log('3333');    }运算符:比较运算符    > < == !=  >=  <=   ===  !==var a = 2;var b = '2';a == b;  true  弱等于a === b;  false  强等于a != b;  falsea !== b;   true运算符:算术运算+  -  * / %   ++  --++ 自增 1-- 自减 1var a = 2;a++  先执行逻辑  +1++a  先+1 再执行逻辑简单示例:   if (++a === 4){                 //(a++ === 3)        console.log('xxx');}    else{        console.log('ooo');};switch判断  用于判断等于某些值(只能放数字)var num = 200;switch(num++){    case 10:        console.log('未成年');        break;    case 18:        console.log('成年');        break;    case 35:        console.log('老年');        break;    case 100:        console.log('....');        break;    default:        console.log('太大了');};异常捕获try{   console.log(xx);}catch(e){   console.log(e);}finally{   console.log('sssss');}循环:for循环for (var i=0;i<100;++i){        // i++   console.log(i);};循环数组   var d = [11,22,33];    for (var i in d){       if (d[i] === 22){         continue;         // break;      }        console.log(i,d[i]);    }   for (var i=0;i<d.length;i++){        console.log(i,d[i]);    };循环:for循环var names = ['老男孩', '肖峰', '吴超']for(var i=0;i<names.length;i++){    console.log(i, names[i])}循环自定义对象--python字典   for (var i in d){        console.log(i,d[i]);     #不要用d.i来取值,没有 i 属性    }函数:普通函数function f1(a,b){   return a+b;}//   执行: f1(1,2) -- 3function f1(a,b){   return a,b;};f1(1,2);    //不能返回多个值:  2函数:匿名函数,一般用于当做参数使用function (arg){    return arg + 1;}——————————————————————————————var a = function (a,b){   console.log('xxx');}var d = {'xx':'oo','f':function (a,b){   console.log('xxx');}};执行:d.f(1,2);函数:自执行函数,自动触发执行一般用于做数据隔离使用,因为JS中是以函数为作用域,所以当js代码比较多时,通过自执行函数做数据隔离(function () {        alert('自执行函数!')    })()JavaScript提供了json序列化功能JSON.stringify(object) ,序列化var info = {name:'alex',age:19,girls:['钢弹','铁锤']}var infoStr = JSON.stringify(info)console.log(infoStr) # '{"name":"alex","age":19,"girls":["钢弹","铁锤"]}'JSON.parse(str),反序列化var infoStr = '{"name":"alex","age":19,"girls":["钢弹","铁锤"]}'      //键必须有双引号,键不能是数字var info = JSON.parse(infoStr)console.log(info)应用场景:网络中数据传输本质上是基于字符串进行,如果想要把一个js的对象通过网络发送到某个网站,就需要对对象进行序列化然后发送。(ajax会经常使用)各语言之间数据类型不一定互通,需要一个中间人(json)  python->json->...->json->java
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!