Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 064146b

Browse files
Update and rename a_programming_languague_completejavascript.com.js to A_programming_languague_completejavascript.com.js
1 parent 6287eae commit 064146b

File tree

1 file changed

+8
-7
lines changed

1 file changed

+8
-7
lines changed

‎practice/a_programming_languague_completejavascript.com.js‎ renamed to ‎practice/A_programming_languague_completejavascript.com.js‎

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -156,18 +156,19 @@ specialForms["fun"] = function(args, env) {
156156
specialForms["set"] = function(args, env) {
157157
if (args.length != 2 || args[0].type != "word")
158158
throw new SyntaxError("Bad use of define");
159+
160+
var name = args[0].name;
161+
var val = evaluate(args[1], env);
162+
159163
var proto = Object.getPrototypeOf(env);
160-
var check = false;
161164
while(true) {
162165
if(proto == null) {
163-
if (!check) throw new ReferenceError('ReferenceError hehe');
164-
else break;
166+
throw new ReferenceError('ReferenceError hehe');
165167
}
166168

167-
var value = evaluate(args[1], env);
168-
if(args[0].name in proto) {
169-
env[args[0].name] = value;
170-
check = true;
169+
if(name in proto) {
170+
proto[name] = val;
171+
break;
171172
}
172173

173174
proto = Object.getPrototypeOf(proto);

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /