精华内容
下载资源
问答
  • 关于js

    2018-08-09 21:29:19
    今天开始了js的学习。现在补充,和回忆所学。 Javascript是一种由Netscape的LiveScript发展而来的脚本语言,主要目的是为了解决服务器同样,又是来自商标的冲突,呵呵有名的微软公司对这门语言的显示版本去了个...

    Javascript是一种由Netscape的LiveScript发展而来的脚本语言,主要目的是为了解决服务器同样,又是来自商标的冲突,呵呵有名的微软公司对这门语言的显示版本去了个几乎是家喻户晓的名字——“Jscript”。不过即便是有这么多的名字,现在人们还是对“JavaScript”这个名字情有独钟,光大的人们也更加的知道这个名字,但是“ECMAScript”一直都是被指代成语言标准。
    Ps:JavaScript和java没有关系,只是希望外观像Java,所以取名JavaScript。
    我们大组长猜测了一种,就是当时的java很火,蹭蹭热度?

    JavaScript的局限性:
    1)目前在互联网上有很多浏览器,如Firefox、InternetExplorer、Opera等,
    但每种浏览器支持JavaScript的程度是不一样的,不同的浏览器在浏览一个带
    有JavaScript脚本的主页时,由于对JavaScript的支持稍有不同,其效果会有
    一定的差距,有时甚至会显示不出来。兼容问题
    2)当把JavaScript的一个设计目标设定为“Web安全性”时,就需要牺牲
    JavaScript的一些功能。因此,纯粹的JavaScript将不能打开、读写和保存用
    户计算机上的文件。其有权访问的唯一信息就是该JavaScript所嵌入的那个
    Web主页中的信息,简言之,JavaScript将只存在于它自己的小小世界—Web
    主页里。

    JavaScript属于动态语言(弱类型语言)
    动态语言是在运行时确定数据类型的语言。变量使用之前不需要类型声明,通常变量的类型是被赋值的那个值的类型。
    例如PHP/ASP/Ruby/Python/Perl/ABAP/SQL/JavaScript/Unix Shell等等。

    静态语言(强类型语言)
    静态语言是在编译时变量的数据类型即可确定的语言,多数静态类型语言要求在使用变量之前必须声明数据类型。
    例如:C++、Java、Delphi、C#等。

    强类型定义语言
    强制数据类型定义的语言。也就是说,一旦一个变量被指定了某个数据类型,如果不经过强制转换,那么它就永远是这个数据类型了。举个例子:如果你定义了一个整型变量a,那么程序根本不可能将a当作字符串类型处理。强类型定义语言是类型安全的语言。
    弱类型定义语言
    数据类型可以被忽略的语言。它与强类型定义语言相反, 一个变量可以赋不同数据类型的值。强类型定义语言在速度上可能略逊色于弱类型定义语言,但是强类型定义语言带来的严谨性能够有效的避免许多错误。
    两者区别
    特性
    强类型语言是一旦变量的类型被确定,就不能转化的语言。
    弱类型语言则反之,一个变量的类型是由其应用上下文确定的。
    静态语言的优势
    由于类型的强制声明,使得IDE有很强的代码感知能力,故,在实现复杂的业务逻辑、开发大型商业系统、以及那些生命周期很长的应用中,依托IDE对系统的开发很有保障;
    由于静态语言相对比较封闭,使得第三方开发包对代码的侵害性可以降到最低;
    动态语言的优势
    思维不受束缚,可以任意发挥,把更多的精力放在产品本身上;
    集中思考业务逻辑实现,思考过程即实现过程;

    javaScript引入方式:

    1、嵌入式:
    文档加载和解析方式从上到下,意味着嵌入式的javaScript也将从上至下依次解析,所以需要注意嵌入式的javaScript存放的位置,因为页面上javaScript内部所有代码求值完毕以前,页面中的其余内容都不会被浏览器加载或显示。
    外部引用:
    2、head中引用JavaScript外部文件,意味着必须等到JavaScript代码被全部下载、解析、执行完成后才开始呈现页面内容,这种引入方式会导致页面呈现的延迟,所有慎用。body内容之后引用,则先呈现页面内容,再下载JavaScript代码,这种加载方式会出现页面可能在一段时间内无法进行交互,因为JavaScript代码没有被解析完成。当然以用户体验为先,我们选择第二种引入方式。

    HTML中嵌入JavaScript代码虽然没问题,但一般认为最好的做法还是尽可能的使用外部文件来包含JavaScript代码。
    优势:
    可维护性:遍及不同HTML页面的JavaScript会造成维护问题,
    可缓存:浏览器能够根据具体的设置缓存链接的所有外部JavaScript文件,也就是,如果两个页面都使用同一个文件,那么文件只需要加载一次。

    浏览器内核了解:
    浏览器内核分为渲染引擎和js引擎。渲染引擎主要负责结构与样式,即网页的内容(HTML、XML、图像等等)、整理讯息(例如加入 CSS 等),以及计算网页的显示方式,然后会输出至显示器或打印机。js引擎则负责解析JavaScript,实现网页的动态效果。一开始渲染引擎与js引擎并没有区分的很明确,但是后来js引擎越来越独立,内核倾向于只指渲染引擎。内核可以分为Trident、Gecko、Blink、Webkit

    Bug解决方法
    小黄鸭调试法(Rubber duck debugging)
      又称橡皮鸭调试法,黄鸭除虫法。就是通过向不懂程序的人(只要是不了解要解释的代码的任何一个人都可以,比将你写的代码解释给你的同事)详细解释代码,从中发现问题或者获取灵感! 此概念是参照于一个来自《程序员修炼之道》书中的一个故事。传说中程序大师随身携带一只小黄鸭,在调试代码的时候会在桌上放上这只小黄鸭,然后详细地向鸭子解释每行代码。
    二分定位法
      通常来说,无论BUG因此多深,通过二分定位法基本可以确定问题所在!那么什么是二分定位法?就是在程序关键点(可能的出错点)进行分割,看看还会不会出问题,类似二分查找的方法,逐步缩小问题范围。
      IDE调试法
      此法在程序开发阶段是绝对的利器!通过加断点、单步调试等可以快速的发现问题所在。突然想到了宇宙第一IDE:Visual Studio。但是,该方法有个比较大的限制:对于非逻辑性错误(比如内存泄露)来说,IDE调试法就有些乏力了。因为单纯的调试,可能BUG并不会出现。而且一旦出现该种问题,可能会直接导致IDE调试不可用。
      其实,IDE调试,不仅仅是找BUG解决问题,对于分析代码逻辑来说无二选择。对于某些设计逻辑的实现,是否符合当初的设计。仅仅通过最终结果不能证明正确,还是需要通过IDE来验证!殊不知,在破解、逆向领域,调试绝对的NB,谁会有心情闷头看那一堆汇编代码,直接上调试器分析多好。

    重读法
      这种方法比较简单直接,就是通过一遍遍地阅读代码来发现问题。
    重构法
      终极必杀器。如果最终无论如何也不能找到BUG的问题所在,那就直接重构吧!重构有个问题需要注意,就是重构时不要再参看之前的代码!重构必须要考虑结构性的设计问题!
      当然,对于简单的代码(对整体代码结构影响不大),直接重写会更迅速!
    总结

    					function  dd()         {   var   shit = document.getElementById('box');
    									\\函数名             \\变量   \\注意=是赋值,==才是等于
    									\\  后面的单词采取的是驼峰式写法!!要严格按照要求。
    									\\ 单词可以清晰读出,因为ID是唯一,所以element单数
    									\\若不是ID,如class 则 elements!!而且因为不唯一,所
    									以每次写完都要写出是第几个。如数组一般,从0开始为1
    									。
    														shit.style.marginLeft=300+‘px’;
    												\\注意,一定要符合驼峰,  ;符号不能省略。
    												}
    
    <!DOCTYPE html>
    <html>
    	<head>
    		<meta charset="UTF-8">
    		<title>点我,点点我</title>
    		<style>
    			.nav .lf{
    				float: left;
    				margin-right: 100px;	
    				border: 1px solid blue;
    			}
    			#drop-down-contain{
    				background-color: red;
    				display:none;
    			}
    		</style>
    	</head>
    	<body>
    		<ul class="nav">
    			<li class="drop-dowm lf" onclick="damn()">JavaScript标准参考教程(alpha)
    				<ol id="drop-down-contain">
    					<li>我</li>
    					<li>是</li>
    					<li>一</li>
    					<li>个</li>
    					<li>小</li>
    				</ol>
    			</li>
    			<li class="lf" >导论</li>
    			<li class="lf" >JavaScript语言历史</li>
    			<li class="lf" >其他</li>
    		</ul>
    		<script>
    			boolean num=true;
    			function damn(){
    //				num++
    //				var dd=document.getElementById('drop-down-contain');
    //				if(num%2==0){
    //					dd.style.display="none";
    //				}else{
    //					dd.style.display="block";
    //				}
    			
    				console.log(dd)
    			}
    			
    		</script>
    		<script>
    			window.alert("你真帅");
    		</script>
    	</body>
    </html>
    
     <!--if(disp=="none"){
     	bl
     	
     }
     else{
     	none;
     }-->
     
     
     <!--
     	
     	if(){
     		
     }
     else{
     	
     }
     	
     	
     	
     	
     	
     	
     -->
     供参考
     
     
    
    展开全文
  • 编译预处理有函数声明和变量赋值,关于函数声明预处理:它会把完整函数提到这个代码块(如果有多个js文件话,一个js文件是一个代码块)开头。如果出现函数名字冲突但是内容不一样函数,按照后写关于...

    编译预处理有函数声明和变量赋值,

    关于函数声明的预处理:它会把完整的函数提到这个代码块(如果有多个js文件的话,一个js文件是一个代码块)的开头。如果出现函数名字冲突但是内容不一样的函数,按照后写的。

    关于变量赋值(var i = value;):它会把var i;提到这个代码块开头,然后给这个变量分配空间,并不会把value 的值赋给它,只有在执行代码段的时候才会 i = value;

    展开全文
  • Js 不支持函数的重载,可以用相同的名字在同一作用区域,定义两个函数,而不会引起错误,但真正使用的是最后一个 例子: abc4(1234,'hello'); function abc4(){ window.alert(arguments.length); return 50...

    函数重载问题...

    Js 不支持函数的重载,可以用相同的名字在同一作用区域,定义两个函数,而不会引起错误,但真正使用的是最后一个

    例子:

            abc4(1234,'hello');
        
    	function abc4(){
    	window.alert(arguments.length);
    		return 50;
    	}
    	function abc4(){
    	for(var i=0;i<arguments.length;i++){
    	window.alert(arguments[i]);
    	   }
    	    return 50;
    	}

    运行结果: 1234  hello

    特别强调一点,js的函数天然支持可变参数


    展开全文
  • 关于js的地址跳转

    2018-02-09 20:01:00
    'newwindow' 弹出窗口的名字(不是文件名),非必须,可用空'代替; height=100 窗口高度; width=500 窗口宽度; top=0 窗口距离屏幕上方的象素值; left=0 窗口距离屏幕左侧的象素值。 window.location...

    一、基本的地址跳转

    解说:

    window.open 弹出新窗口的命令;     page.html' 弹出窗口的文件名;    'newwindow' 弹出窗口的名字(不是文件名),非必须,可用空'代替; height=100 窗口高度;  width=500 窗口宽度;  top=0 窗口距离屏幕上方的象素值;  left=0 窗口距离屏幕左侧的象素值。

    window.location.href = "页面地址"; //当前页跳转  相当于 <a href="baidu.com" target="_self">go baidu</a>  
    window.open('页面地址'); //打开新页面   相当于<a href="baidu.com" target="_blank">go baidu</a>
    window.open('page.html', 'newwindow', 'height=100, width=400, top=0,left=0, toolbar=no, menubar=no, scrollbars=no, resizable=no,location=no, status=no')

     

    二、返回上一页,当页刷新

    window.history.back(-1); //返回上一页
    window.history.back(); //返回上一页
    document.referrer;  //返回上一页,也用于获取上一页的链接,假如没有上一页则返回"",多用于移动端
    
    location.reload(); //当页刷新
    window.location.go(-1); //返回上一页并刷新
    self.location=document.referrer; //返回上一页并刷新
    

      

     

    三、其他的页面跳转

    解说:

     self 指代当前窗口对象,属于window 最上层的对象。

    location.href 指的是某window对象的url的地址

     self.location.href 指当前窗口的url地址,去掉self默认为当前窗口的url地址,一般用于防止外部的引用

    top.location.href:为引用test.html页面url的父窗口对象的url

    top指代的是主体窗口

    self.location.href = "baidu.com" 
    top.location.href = '页面地址';
    
    //假如要页面a跳出iframe框架
    if(top.location.href != self.location.href) {
    	location.href = "页面a";
    }
    

      

     

    转载于:https://www.cnblogs.com/qqing/p/8436717.html

    展开全文
  • 书上看到一些关于js对象 **对象属性特性:**除了名字和值之外,每个属性还有与之相关一些值,成为属性特性。 可写(writable):表明可以设置属性。 可枚举(enumerable):可通过for/in循环返回属性。 可...
  • 我们都有一个误区,就是认为形成 Javascript 对象prototype chain prototype 就是一个名字为 prototype 属性,而且是可以访问。其实,Javascript prototype 和 名字为 prototype 属性在一开始一点儿...
  • 关于JS原生offset一些简单理解

    千次阅读 2018-06-21 16:09:20
    offset这个属性,可以说是非常有用,顾名思义,offset翻译过来就是偏移量,从名字就可以看出它具体意义了。也即是元素相当于父元素偏移量。offset大致包括offsetTop、offsetLeft、offsetWidth、offsetHeight、...
  • 关于JS模块化

    2020-12-01 09:06:39
    网站正在变成Web应用程序,随着网站规模扩大,代码复杂性也在增加,需要高度解耦的JS文件/模块。 变量、函数、对象等名字容易冲突,还会造成全局变量被污染。 程序复杂时要引入很多类库,容易造成文件依赖混乱...
  • 关于prompt(message)这个函数,... var name=prompt("请输入你的名字");  document.write("欢迎"+name+"来到这里!");   当输出参数后,将显示“欢迎参数值来到这里!” 但是当点击取消后将显示“欢迎
  • 今日在做类创建时候有一个意外发现:如题 不多说,贴code function Test(){ var num = 30; this.num = 40; this.pop_private = function() { alert(num); } } var test1 = new Test(); test1.pop_...
  • 关于JS中cookie

    2019-06-03 22:38:10
    cookie : 用于储存页面用户信息 1.在文档中创建cookie document.cookie = “名字=值”;...②设置失效时间cookie(3天之后过期) document.cookie = “名字=值;expires=过期时间”; var dt=new Date(); dt.setHo...
  • 举个简单的函数例子 function getNum(num){  num =100;  console.log(num); ...结果是:100和Uncaught ...虽然在函数中声明了一个隐式全局变量,可是函数的形参跟隐式全局变量的名字是相同的,而函数...
  • 在网页上显示楼层平面图(类似地图的那种),有两个容器A和B,A装着20个表示楼层里的商店的DOM元素(简称商店),B容器装着商店的名字(简称名字)。商店写 了单击事件(点击高亮效果)。并且有一个方法(f1)生成...
  • 对象 instanceof 构造函数的名字 3.重点 构造函数可以实例化对象 构造函数有一个prototype,是构造-函数的原型对象 构造函数的原型对象(prototype)中有一个constructor构造器...
  • js关于节点操作

    2019-01-09 23:56:50
    基础理论 顶级对象:文档对象document 元素:页面上所有的标签 节点(node)页面上所有的内容(标签,属性,文本(文字,换行,....nodeName:节点的名字:大写的标签名字&gt;&gt;&gt;标签节点 ,小写...
  • 诸如click、load 和mouseover,都是事件的名字。而响应某个事件的函数就叫做事件处理程序(或事件侦听器)。事件处理程序的名字以"on"开头,因此click 事件的事件处理程序就是onclick,load 事件的事件...
  • 第一个括号确定了匿名函数作用范围, 语法不会报错, 里面放一个没有名字的函数, 函数可以接收形式参数 2. 底层代码封装 * 匿名函数作用 确定vue.js这个库使用方法 直接将Vue当做全局一个方法...
  • 当启动第二个或者多个APP程序时候launchApp(“应用名字”),无法打开指定APP。 现在研究一段脚本需要在3个APP之间来回运行,卡在启动APP这个问题上了。 本人是一个初出茅庐小白,望:解释详细一点点...
  • 最近在编程时候遇到了以下问题,代码如下: function editLine(CODE) { ... $("input[id='cablename']").attr("... // 编辑时锁定名字,自动生成 PathDwrUtil.getSegById(CODE, callBack...
  • 执行上下文里函数环境代码的运行步骤 一.创建对象(这个阶段发生在执行具体代码前) 1.创建变量对象(Variable Object) ①初始化arguments对象 它的值为Arguments对象 ...2.key为形参的名字,value为对应...
  • js关于cookie

    2019-02-10 22:12:11
    cookie 是存储于访问者的计算机中的...当访问者首次访问页面时,他或她也许会填写他/她们的名字。名字会存储于 cookie 中。当访问者再次访问网站时,他们会收到类似 “Welcome John Doe!” 的欢迎词。而名字则是从 ...
  • 关于js实现图片翻页和图片滚动虽然最近研究jQuery,但是还是没有学到那么精,不知道怎么写出这个效果来,只好用js来实现了。 关于图片自动翻页这个,很久前就研究出来,用ajaxpro+js实现动态效果,而且这个效果...
  • 本来项目好好,突然今天在公司电脑上就点不开一个button,F12后发现button所执行的JS内容被替换为:;...我的js名字叫,advert.js。 苦逼了有木有!!! 关闭该广告插件后就正常(adsa
  • 命名空间有助于减少程序中所需要的全局变量的数量,并且同时有助于避免命名冲突或过长的名字前缀。 关于命名空间的例子: 1 /** 2 * 创建全局对象MYAPP 3 * @module MYAPP 4 * @title MYAPP Global 5 *...
  • 3、express -e 项目名字// 生成项目 4、cd 项目名字// 进入项目 5、npm install// 安装依赖 6、npm start// 启动项目 经过以上步骤,项目是已经生成了,在这个时候就可以进行node开发了; // 引入第三方文案...
  • 最近在学C#,忽然想到以前在JS中调用那些OCX控件神马,就想着做一个,晚上鼓捣了一阵子,现在终于有了点眉目。  1。 C#  a.创建DLL  首先,打开VS(我用是2010),创建一个简单类库,名字numAdd    b...

空空如也

空空如也

1 2 3 4 5 ... 17
收藏数 336
精华内容 134
关键字:

关于js的名字